From f4c88e0f80ead221af67beca5cf771f6cee388e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 23 Nov 2022 11:13:21 +0100 Subject: [PATCH 1/3] Add trashcan icon to UI atlas, use in control mapper. Reorder a couple dev settings --- UI/ControlMappingScreen.cpp | 4 ++-- UI/GameSettingsScreen.cpp | 4 ++-- assets/ui_atlas.meta | Bin 3432 -> 1106 bytes assets/ui_atlas.zim | Bin 80730 -> 58080 bytes source_assets/image/trashcan.png | Bin 0 -> 1062 bytes ui_atlasscript.txt | 1 + 6 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 source_assets/image/trashcan.png diff --git a/UI/ControlMappingScreen.cpp b/UI/ControlMappingScreen.cpp index b0f0651735..1461220625 100644 --- a/UI/ControlMappingScreen.cpp +++ b/UI/ControlMappingScreen.cpp @@ -142,14 +142,14 @@ void SingleControlMapper::Refresh() { std::string keyName = KeyMap::GetKeyOrAxisName(mappings[i].keyCode); LinearLayout *row = rightColumn->Add(new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT))); - row->SetSpacing(1.0f); + row->SetSpacing(2.0f); rows_.push_back(row); Choice *c = row->Add(new Choice(deviceName + "." + keyName, new LinearLayoutParams(FILL_PARENT, itemH, 1.0f))); c->SetTag(StringFromFormat("%d_Change%d", (int)i, pspKey_)); c->OnClick.Handle(this, &SingleControlMapper::OnReplace); - Choice *d = row->Add(new Choice(" X ", new LayoutParams(WRAP_CONTENT, itemH))); + Choice *d = row->Add(new Choice(ImageID("I_TRASHCAN"), new LayoutParams(WRAP_CONTENT, itemH))); d->SetTag(StringFromFormat("%d_Del%d", (int)i, pspKey_)); d->OnClick.Handle(this, &SingleControlMapper::OnDelete); } diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index f22627e100..f985110613 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -1863,11 +1863,11 @@ void DeveloperToolsScreen::CreateViews() { list->Add(new CheckBox(&g_Config.bShowOnScreenMessages, dev->T("Show on-screen messages"))); list->Add(new CheckBox(&g_Config.bEnableLogging, dev->T("Enable Logging")))->OnClick.Handle(this, &DeveloperToolsScreen::OnLoggingChanged); + list->Add(new Choice(dev->T("Logging Channels")))->OnClick.Handle(this, &DeveloperToolsScreen::OnLogConfig); + list->Add(new CheckBox(&g_Config.bLogFrameDrops, dev->T("Log Dropped Frame Statistics"))); if (GetGPUBackend() == GPUBackend::VULKAN) { list->Add(new CheckBox(&g_Config.bGpuLogProfiler, gr->T("GPU log profiler"))); } - list->Add(new CheckBox(&g_Config.bLogFrameDrops, dev->T("Log Dropped Frame Statistics"))); - list->Add(new Choice(dev->T("Logging Channels")))->OnClick.Handle(this, &DeveloperToolsScreen::OnLogConfig); list->Add(new ItemHeader(dev->T("Language"))); list->Add(new Choice(dev->T("Load language ini")))->OnClick.Handle(this, &DeveloperToolsScreen::OnLoadLanguageIni); list->Add(new Choice(dev->T("Save language ini")))->OnClick.Handle(this, &DeveloperToolsScreen::OnSaveLanguageIni); diff --git a/assets/ui_atlas.meta b/assets/ui_atlas.meta index 32d31ed1323d4ae60a58c9cc428a0408a073bdd0..a1d7df260c878b94ba06cd9c41af8b2948d2b96f 100644 GIT binary patch literal 1106 zcmV-Y1g-l)R7^nu000000000!0000!1ONaiwJ-f(kPM|E00!=$OTg4kI>K%L#Oojm zU%P{W0HA>GfB%+!g(>yyI-&W)4wMImL8&7caTzA=j1GdN3Ad`g=;}Zw$v- z4_DiUV`^|;9jn4_HC(>EkmcDG(m$<*ls^c>^9Vd(kl*739A|MM`7 z`?mC~;=Y^SG)w#a-)S5QEcESwzT(814iv}I+=>71Y8ZWIh&kU+^Z}rED{W9v!_c-6 zSQi($=b6X-|FH#yQ)rC<$1>c_(DejdGQWU?n1ca(}A$ z2A`4K^Ek2AN4w>ueZ18I#yvN9CB<=9gmiW}Z3V|%S%cyvuN*Ey+D=0hKmFX~a))dC z#GH^J$4;3h+4RX)Xyb`Xi$6*nu&p>U`By z^bI?gY$<}fTW;1UPFbL>M?OSM^qq3PKO!gY$?_9xH8yeK$DS|4Qnuo)lshQekOs#N z7-k)?!#jUN(a(td-E>_UC%vy`dKQ3(AE;#f{zyXa?1F1toX zGanny%Wl012?belq-7g=WnmFckX+D(t*GwT!ZxycT$<}`tKrGO@Xb^O`kGYMb_}#m z)eE%V2bwwmff{!93aw_fuLf|Ewc5`d$J`MPPXF8nNNJNfKQr?8i+*Nx(}RgR|3q!I z7Zxg4xtbDz8K{A1W{Hg?siXrDE{Te!>H$&{rs9Z0L_h?_5CI`XFsL+0R5=J3fp1$6 zs<&RpV$BgrIPYIRqB6FT^YXyIjDjid)0_IXNcN;=p>``_8Va2rLCuXYP|MGDM~fDG zw)b*dYrp5osK%hqu(%_>*Ivm;Yq)0rHn)}puqu5mqIiYhHL2PC`Lre64!zxqJ#a%< zW^kt-&1aU}44`fHaf|_v!|45{6F;zmLnZPWwNA1Kv9ee(V9aYAzIQe76?5hc$#v$= z)J&t$6%PfwgkQj{Da9Cz;2#8-u)8PUJ(43v&PASqf`REeeb**s%1kWwo?!0s*6E%O z5O-%Ahn2xI{teYlev6`ser1Bs7!ofUS+5~!L`T|IHH_WnPR90~DKI!;zp+yvwdfj?14>IITt|gGDLw6Nxc2J(eO_r;B7hR&nnH1u*#Waz9hfwtKI4 z2(;`BgthV5`2l~OxCP#OycIIMD~QT2hxnC`(|y#_YjFR@Je#~?R(Ow%Z-dCf`r5sr YX<#%KNAdm6)L2_K-(Y!~vQKUI0T8GkWB>pF literal 3432 zcmaKuONnf+wQ~2|k0k zttVq58V{%kV%pNhC}=aTL}Tn_;&uYHNmfFZvshhmlD$g@Q*Mn6Ee6SrWm{g`S_dIhCS64EGB2HnZa* z*G)pd)o|{Z{i0RAnX_GmTy5k;eZSPBdeG&+vLT{abwDR+;Adn ze46=y-T*g&gsGn-@nZR2vMP3FXW=9kBj!$)b|PU~3lsU>HN5-r$#0zT7~HVA4ZXcc zm?m+rRdZ3SpPy0LzwG$}dk&eHmBP-X$}8mAUe1->p}hN;cW60L4UDf=lie@sf7dZd-DcmAXVh)>tCm_XIA?+tAM$QQ{~X*b^*3g2W>thdOX7CgY5KMD zs`n1!hSM|3JHkArr(mwMoaAOj-_4{RBtO4KzOdXCmTM%T($-`aNSKB}+;Tyz3zxmo=S~lB6#>ktpL{*OJb+A^J$$O@ zgL4GkUG2)Nu^)ZVI|RSZ$emckq1TocN)g7%-6i(sm$1)Pg#MD>WUfI)BupE1zcTdW z`2QzrXczOc9)h{ta<}kr#jttyRzJ^9**q(_TPq-bvfT51?oG=Tao=6dDd}gg+FF;M zCOKW~C!Vbsc0X#~*27mT?3CN3VhE=W5{D(?@tod>YGJ2z--==H74l5tulDN+RD})G zc1Hr(X-9rp_*72ZZGOhg4ZQ_s*m84`-$?hh`MY#vFX9)u|A>WmsTtsU&I%OHyNt6* z4A&2Gb-4>mhrE08A-H$pHxF`6=gleaI(ZZ1N0G5X&Uf0WPS9J(Y4!Vz%Et$}d3VW6 zUdz2HefI}F$zepobgmagogk^#%d0;7k#kW;Iqlt>Hve-;y+i3auUmPC$h%JRG@mfL z*y~!mU#AxMNkvEFez4~|4!_-82O~W+Oq=n3_h!`5BkU!8SKepa^cc*z<$V6F7`DHB zijDKc@Ml{O1t+hAijjSbAEjT@o3hVr{S}31?;E(B8DS|KUUojY1}SPP;~7*?d>E-M~!r`;+?hVC#|sMdVc-~ D3s12h diff --git a/assets/ui_atlas.zim b/assets/ui_atlas.zim index 85517eb137b9a0ece8fd9db07f38cb59155e6fad..5b8b17995c2e3a7d769c014b15f91d5673147c1f 100644 GIT binary patch literal 58080 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 PtY~?Ng9cy&z~|?Gb)!Hm literal 80730 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%0A?4C)#Qddjitx`&p9^tDCN=nsFt^shgdRH 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 diff --git a/source_assets/image/trashcan.png b/source_assets/image/trashcan.png new file mode 100644 index 0000000000000000000000000000000000000000..d761236539a34ff1d35e04b438ed363e821e3d65 GIT binary patch literal 1062 zcmV+>1ljwEP)Fu$xu_XWj06I$s;@|-C2L}iD!eGVn^74B)j8+e=FSOk3 z?CdomghNEs>2%g6Cntw-4ok!U^i?XAFQSxhZf?#3xB_4RK!2AF0I*h9SC9H{Z*Tt` zisndJ0T!A%KR^F!u~__32*IV4oQRl|k`YmVE|(jPq6&hb0YHZ1l?3OEF{UVrVuWqv zy6z*!n8O$&&UwH&4-`d_i;Ih&jgOC)0R(C^*fh;c`F#FnhAdsq(C3)2d_I3QslhbO zOHm+^5a~EheQ$5?7tixlB6`g*j2lEmjIpc*oeC+X9o@Dna zsO#(N9}^MTwtWY{MF1BvT3-(vux7L*w}b~dV2ao6iBUB`+RF_>+4df^m@eY?CgBE zySw}S%F4={-F~E$K*E`lnvpn$hKAlK6biQipin5h1mJG~+Th^eH;l19&-2Ov{sN#` zmh~k7?l{hU0Dp!q7yuAaVrDXDBnX0|qHQ*t(YPbd_x-0hAw;~;qwjwve~tW?LQ?VKE{zZ(vGK**HJqnUm05_Ysz+<9XPjy{Cw)w*c)WuW-tDq|3o32a{>UvFs_e`j9gE1 za9Z>_N0NldR;%@}Uax;Egy2LJ2q6yAoJ%R&LI^jlPp8vqYMR!rR;v$?@Tlrl$sDIU g?6UrHpqL%QV-6wK>3n*Bp#T5?07*qoM6N<$f*-}^H~;_u literal 0 HcmV?d00001 diff --git a/ui_atlasscript.txt b/ui_atlasscript.txt index cbb3a2b22a..14d0cd2ac9 100644 --- a/ui_atlasscript.txt +++ b/ui_atlasscript.txt @@ -60,3 +60,4 @@ image I_SQUARE_SHAPE source_assets/image/square_shape.png copy image I_SQUARE_SHAPE_LINE source_assets/image/square_shape_line.png copy image I_FOLDER_OPEN source_assets/image/folder_open_line.png copy image I_WARNING source_assets/image/warning.png copy +image I_TRASHCAN source_assets/image/trashcan.png copy \ No newline at end of file From 5230fc7c411a278f7ef923daef40c4f53c0e305a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 23 Nov 2022 12:22:59 +0100 Subject: [PATCH 2/3] Joystick input: Ignore in-deadzone events from a different device than previous events Fixes #15465 --- Common/Input/InputState.h | 1 + Core/ControlMapper.cpp | 115 ++++++++++++++++++++++-------------- Core/ControlMapper.h | 14 +++-- UI/ControlMappingScreen.cpp | 1 + UI/EmuScreen.cpp | 3 - UI/GamepadEmu.cpp | 28 ++++----- UI/GamepadEmu.h | 8 +-- 7 files changed, 99 insertions(+), 71 deletions(-) diff --git a/Common/Input/InputState.h b/Common/Input/InputState.h index faa6416e30..f5d43e209d 100644 --- a/Common/Input/InputState.h +++ b/Common/Input/InputState.h @@ -33,6 +33,7 @@ enum { DEVICE_ID_ACCELEROMETER = 30, DEVICE_ID_XR_CONTROLLER_LEFT = 40, DEVICE_ID_XR_CONTROLLER_RIGHT = 41, + DEVICE_ID_TOUCH = 42, }; //number of contiguous generic joypad IDs diff --git a/Core/ControlMapper.cpp b/Core/ControlMapper.cpp index b19c29dbda..b6d1dc3d0d 100644 --- a/Core/ControlMapper.cpp +++ b/Core/ControlMapper.cpp @@ -15,6 +15,7 @@ static float MapAxisValue(float v) { const float invDeadzone = g_Config.fAnalogInverseDeadzone; const float sensitivity = g_Config.fAnalogSensitivity; const float sign = v >= 0.0f ? 1.0f : -1.0f; + return sign * Clamp(invDeadzone + (abs(v) - deadzone) / (1.0f - deadzone) * (sensitivity - invDeadzone), 0.0f, 1.0f); } @@ -49,24 +50,48 @@ void ControlMapper::SetRawCallback(std::function setRaw setRawAnalog_ = setRawAnalog; } - -void ControlMapper::SetPSPAxis(char axis, float value, int stick) { - static float history[2][2] = {}; - +void ControlMapper::SetPSPAxis(int device, char axis, float value, int stick) { int axisId = axis == 'X' ? 0 : 1; - history[stick][axisId] = value; + float position[2]; + position[0] = history[stick][0]; + position[1] = history[stick][1]; - float x = history[stick][0]; - float y = history[stick][1]; + position[axisId] = value; + + float x = position[0]; + float y = position[1]; if (setRawAnalog_) { setRawAnalog_(stick, x, y); } - ConvertAnalogStick(x, y); + // NOTE: We need to use single-axis checks, since the other axis might be from another device, + // so we'll add a little leeway. + bool inDeadZone = fabsf(value) < g_Config.fAnalogDeadzone * 0.7f; - setPSPAnalog_(stick, x, y); + bool ignore = false; + + if (inDeadZone && lastNonDeadzoneDeviceID_[stick] != device) { + // Ignore this event! See issue #15465 + NOTICE_LOG(COMMON, "Ignoring deadzone event from device %d (%d, %f)", device, axis, value); + ignore = true; + } + + if (!inDeadZone) { + NOTICE_LOG(COMMON, "Got a non deadzone event from device %d (%d, %f > %f)", device, axis, value, g_Config.fAnalogDeadzone); + lastNonDeadzoneDeviceID_[stick] = device; + } + + if (!ignore) { + history[stick][axisId] = value; + + float x = history[stick][0]; + float y = history[stick][1]; + + ConvertAnalogStick(x, y); + setPSPAnalog_(stick, x, y); + } } bool ControlMapper::Key(const KeyInput &key, bool *pauseTrigger) { @@ -79,7 +104,7 @@ bool ControlMapper::Key(const KeyInput &key, bool *pauseTrigger) { } for (size_t i = 0; i < pspKeys.size(); i++) { - pspKey(pspKeys[i], key.flags); + pspKey(key.deviceId, pspKeys[i], key.flags); } DEBUG_LOG(SYSTEM, "Key: %d DeviceId: %d", key.keyCode, key.deviceId); @@ -155,7 +180,7 @@ static int RotatePSPKeyCode(int x) { } } -void ControlMapper::setVKeyAnalog(char axis, int stick, int virtualKeyMin, int virtualKeyMax, bool setZero) { +void ControlMapper::setVKeyAnalog(int deviceId, char axis, int stick, int virtualKeyMin, int virtualKeyMax, bool setZero) { // The down events can repeat, so just trust the virtKeys array. bool minDown = virtKeys[virtualKeyMin - VIRTKEY_FIRST]; bool maxDown = virtKeys[virtualKeyMax - VIRTKEY_FIRST]; @@ -167,11 +192,11 @@ void ControlMapper::setVKeyAnalog(char axis, int stick, int virtualKeyMin, int v if (maxDown) value += scale; if (setZero || minDown || maxDown) { - SetPSPAxis(axis, value, stick); + SetPSPAxis(deviceId, axis, value, stick); } } -void ControlMapper::pspKey(int pspKeyCode, int flags) { +void ControlMapper::pspKey(int deviceId, int pspKeyCode, int flags) { int rotations = 0; switch (g_Config.iInternalScreenRotation) { case ROTATION_LOCKED_HORIZONTAL180: @@ -193,11 +218,11 @@ void ControlMapper::pspKey(int pspKeyCode, int flags) { int vk = pspKeyCode - VIRTKEY_FIRST; if (flags & KEY_DOWN) { virtKeys[vk] = true; - onVKeyDown(pspKeyCode); + onVKeyDown(deviceId, pspKeyCode); } if (flags & KEY_UP) { virtKeys[vk] = false; - onVKeyUp(pspKeyCode); + onVKeyUp(deviceId, pspKeyCode); } } else { // INFO_LOG(SYSTEM, "pspKey %i %i", pspKeyCode, flags); @@ -208,32 +233,32 @@ void ControlMapper::pspKey(int pspKeyCode, int flags) { } } -void ControlMapper::onVKeyDown(int vkey) { +void ControlMapper::onVKeyDown(int deviceId, int vkey) { switch (vkey) { case VIRTKEY_AXIS_X_MIN: case VIRTKEY_AXIS_X_MAX: - setVKeyAnalog('X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX); break; case VIRTKEY_AXIS_Y_MIN: case VIRTKEY_AXIS_Y_MAX: - setVKeyAnalog('Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX); break; case VIRTKEY_AXIS_RIGHT_X_MIN: case VIRTKEY_AXIS_RIGHT_X_MAX: - setVKeyAnalog('X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX); break; case VIRTKEY_AXIS_RIGHT_Y_MIN: case VIRTKEY_AXIS_RIGHT_Y_MAX: - setVKeyAnalog('Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX); break; case VIRTKEY_ANALOG_LIGHTLY: - setVKeyAnalog('X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX, false); - setVKeyAnalog('Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX, false); - setVKeyAnalog('X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX, false); - setVKeyAnalog('Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX, false); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX, false); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX, false); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX, false); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX, false); break; case VIRTKEY_ANALOG_ROTATE_CW: @@ -252,32 +277,32 @@ void ControlMapper::onVKeyDown(int vkey) { } } -void ControlMapper::onVKeyUp(int vkey) { +void ControlMapper::onVKeyUp(int deviceId, int vkey) { switch (vkey) { case VIRTKEY_AXIS_X_MIN: case VIRTKEY_AXIS_X_MAX: - setVKeyAnalog('X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX); break; case VIRTKEY_AXIS_Y_MIN: case VIRTKEY_AXIS_Y_MAX: - setVKeyAnalog('Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX); break; case VIRTKEY_AXIS_RIGHT_X_MIN: case VIRTKEY_AXIS_RIGHT_X_MAX: - setVKeyAnalog('X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX); break; case VIRTKEY_AXIS_RIGHT_Y_MIN: case VIRTKEY_AXIS_RIGHT_Y_MAX: - setVKeyAnalog('Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX); break; case VIRTKEY_ANALOG_LIGHTLY: - setVKeyAnalog('X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX, false); - setVKeyAnalog('Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX, false); - setVKeyAnalog('X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX, false); - setVKeyAnalog('Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX, false); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_LEFT, VIRTKEY_AXIS_X_MIN, VIRTKEY_AXIS_X_MAX, false); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_LEFT, VIRTKEY_AXIS_Y_MIN, VIRTKEY_AXIS_Y_MAX, false); + setVKeyAnalog(deviceId, 'X', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_X_MIN, VIRTKEY_AXIS_RIGHT_X_MAX, false); + setVKeyAnalog(deviceId, 'Y', CTRL_STICK_RIGHT, VIRTKEY_AXIS_RIGHT_Y_MIN, VIRTKEY_AXIS_RIGHT_Y_MAX, false); break; case VIRTKEY_ANALOG_ROTATE_CW: @@ -312,29 +337,29 @@ void ControlMapper::processAxis(const AxisInput &axis, int direction) { float value = fabs(axis.value) * scale; switch (result) { case VIRTKEY_AXIS_X_MIN: - SetPSPAxis('X', -value, CTRL_STICK_LEFT); + SetPSPAxis(axis.deviceId, 'X', -value, CTRL_STICK_LEFT); break; case VIRTKEY_AXIS_X_MAX: - SetPSPAxis('X', value, CTRL_STICK_LEFT); + SetPSPAxis(axis.deviceId, 'X', value, CTRL_STICK_LEFT); break; case VIRTKEY_AXIS_Y_MIN: - SetPSPAxis('Y', -value, CTRL_STICK_LEFT); + SetPSPAxis(axis.deviceId, 'Y', -value, CTRL_STICK_LEFT); break; case VIRTKEY_AXIS_Y_MAX: - SetPSPAxis('Y', value, CTRL_STICK_LEFT); + SetPSPAxis(axis.deviceId, 'Y', value, CTRL_STICK_LEFT); break; case VIRTKEY_AXIS_RIGHT_X_MIN: - SetPSPAxis('X', -value, CTRL_STICK_RIGHT); + SetPSPAxis(axis.deviceId, 'X', -value, CTRL_STICK_RIGHT); break; case VIRTKEY_AXIS_RIGHT_X_MAX: - SetPSPAxis('X', value, CTRL_STICK_RIGHT); + SetPSPAxis(axis.deviceId, 'X', value, CTRL_STICK_RIGHT); break; case VIRTKEY_AXIS_RIGHT_Y_MIN: - SetPSPAxis('Y', -value, CTRL_STICK_RIGHT); + SetPSPAxis(axis.deviceId, 'Y', -value, CTRL_STICK_RIGHT); break; case VIRTKEY_AXIS_RIGHT_Y_MAX: - SetPSPAxis('Y', value, CTRL_STICK_RIGHT); + SetPSPAxis(axis.deviceId, 'Y', value, CTRL_STICK_RIGHT); break; case VIRTKEY_SPEED_ANALOG: @@ -366,22 +391,22 @@ void ControlMapper::processAxis(const AxisInput &axis, int direction) { if (axisState != 0) { for (size_t i = 0; i < results.size(); i++) { if (!IsAnalogStickKey(results[i])) - pspKey(results[i], KEY_DOWN); + pspKey(axis.deviceId, results[i], KEY_DOWN); } // Also unpress the other direction (unless both directions press the same key.) for (size_t i = 0; i < resultsOpposite.size(); i++) { if (!IsAnalogStickKey(resultsOpposite[i]) && std::find(results.begin(), results.end(), resultsOpposite[i]) == results.end()) - pspKey(resultsOpposite[i], KEY_UP); + pspKey(axis.deviceId, resultsOpposite[i], KEY_UP); } } else if (axisState == 0) { // Release both directions, trying to deal with some erratic controllers that can cause it to stick. for (size_t i = 0; i < results.size(); i++) { if (!IsAnalogStickKey(results[i])) - pspKey(results[i], KEY_UP); + pspKey(axis.deviceId, results[i], KEY_UP); } for (size_t i = 0; i < resultsOpposite.size(); i++) { if (!IsAnalogStickKey(resultsOpposite[i])) - pspKey(resultsOpposite[i], KEY_UP); + pspKey(axis.deviceId, resultsOpposite[i], KEY_UP); } } } diff --git a/Core/ControlMapper.h b/Core/ControlMapper.h index d930c56f8b..f837bc73c0 100644 --- a/Core/ControlMapper.h +++ b/Core/ControlMapper.h @@ -16,7 +16,7 @@ public: void Update(); bool Key(const KeyInput &key, bool *pauseTrigger); - void pspKey(int pspKeyCode, int flags); + void pspKey(int deviceId, int pspKeyCode, int flags); bool Axis(const AxisInput &axis); // Required callbacks @@ -30,13 +30,13 @@ public: private: void processAxis(const AxisInput &axis, int direction); - void setVKeyAnalog(char axis, int stick, int virtualKeyMin, int virtualKeyMax, bool setZero = true); + void setVKeyAnalog(int deviceId, char axis, int stick, int virtualKeyMin, int virtualKeyMax, bool setZero = true); - void SetPSPAxis(char axis, float value, int stick); + void SetPSPAxis(int deviceId, char axis, float value, int stick); void ProcessAnalogSpeed(const AxisInput &axis, bool opposite); - void onVKeyDown(int vkey); - void onVKeyUp(int vkey); + void onVKeyDown(int deviceId, int vkey); + void onVKeyUp(int deviceId, int vkey); // To track mappable virtual keys. We can have as many as we want. bool virtKeys[VIRTKEY_COUNT]{}; @@ -44,6 +44,10 @@ private: // De-noise mapped axis updates int axisState_[JOYSTICK_AXIS_MAX]{}; + int lastNonDeadzoneDeviceID_[2]{}; + + float history[2][2] = {}; + // Mappable auto-rotation. Useful for keyboard/dpad->analog in a few games. bool autoRotatingAnalogCW_ = false; bool autoRotatingAnalogCCW_ = false; diff --git a/UI/ControlMappingScreen.cpp b/UI/ControlMappingScreen.cpp index 1461220625..d68ae2baba 100644 --- a/UI/ControlMappingScreen.cpp +++ b/UI/ControlMappingScreen.cpp @@ -583,6 +583,7 @@ void JoystickHistoryView::Update() { AnalogSetupScreen::AnalogSetupScreen() { mapper_.SetCallbacks([](int vkey) {}, [](int vkey) {}, [&](int stick, float x, float y) { + NOTICE_LOG(COMMON, "analog value from mapper: %f %f", x, y); analogX_[stick] = x; analogY_[stick] = y; }); diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index a0b898663c..a52ba14fd8 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -136,8 +136,6 @@ static void __EmuScreenVblank() } // Handles control rotation due to internal screen rotation. -// TODO: This should be a callback too, so we don't actually call the __Ctrl functions -// from settings screens, etc. static void SetPSPAnalog(int stick, float x, float y) { switch (g_Config.iInternalScreenRotation) { case ROTATION_LOCKED_HORIZONTAL: @@ -164,7 +162,6 @@ static void SetPSPAnalog(int stick, float x, float y) { default: break; } - __CtrlSetAnalogXY(stick, x, y); } diff --git a/UI/GamepadEmu.cpp b/UI/GamepadEmu.cpp index 809f2cf31f..bb1eb01f3b 100644 --- a/UI/GamepadEmu.cpp +++ b/UI/GamepadEmu.cpp @@ -205,7 +205,7 @@ void ComboKey::Touch(const TouchInput &input) { if (!repeat_) { for (int i = 0; i < ARRAY_SIZE(comboKeyList); i++) { if (pspButtonBit_ & (1ULL << i)) { - controllMapper_->pspKey(comboKeyList[i].c, (on_ && toggle_) ? KEY_UP : KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, comboKeyList[i].c, (on_ && toggle_) ? KEY_UP : KEY_DOWN); } } } @@ -214,7 +214,7 @@ void ComboKey::Touch(const TouchInput &input) { if (!repeat_) { for (int i = 0; i < ARRAY_SIZE(comboKeyList); i++) { if (pspButtonBit_ & (1ULL << i)) { - controllMapper_->pspKey(comboKeyList[i].c, KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, comboKeyList[i].c, KEY_UP); } } } @@ -235,13 +235,13 @@ void ComboKey::Update() { } else if (pressedFrames_ == DOWN_FRAME) { for (int i = 0; i < ARRAY_SIZE(comboKeyList); i++) { if (pspButtonBit_ & (1ULL << i)) { - controllMapper_->pspKey(comboKeyList[i].c, KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, comboKeyList[i].c, KEY_UP); } } } else if (on_ && pressedFrames_ == 0) { for (int i = 0; i < ARRAY_SIZE(comboKeyList); i++) { if (pspButtonBit_ & (1ULL << i)) { - controllMapper_->pspKey(comboKeyList[i].c, KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, comboKeyList[i].c, KEY_DOWN); } } pressedFrames_ = 1; @@ -912,7 +912,7 @@ void GestureGamepad::Touch(const TouchInput &input) { const float now = time_now_d(); if (now - lastTapRelease_ < 0.3f && !haveDoubleTapped_) { if (g_Config.iDoubleTapGesture != 0 ) - controllMapper_->pspKey(GestureKey::keyList[g_Config.iDoubleTapGesture-1], KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iDoubleTapGesture-1], KEY_DOWN); haveDoubleTapped_ = true; } @@ -935,7 +935,7 @@ void GestureGamepad::Touch(const TouchInput &input) { if (haveDoubleTapped_) { if (g_Config.iDoubleTapGesture != 0) - controllMapper_->pspKey(GestureKey::keyList[g_Config.iDoubleTapGesture-1], KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iDoubleTapGesture-1], KEY_UP); haveDoubleTapped_ = false; } } @@ -948,37 +948,37 @@ void GestureGamepad::Update() { float dy = deltaY_ * g_dpi_scale_y * g_Config.fSwipeSensitivity; if (g_Config.iSwipeRight != 0) { if (dx > th) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeRight-1], KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeRight-1], KEY_DOWN); swipeRightReleased_ = false; } else if (!swipeRightReleased_) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeRight-1], KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeRight-1], KEY_UP); swipeRightReleased_ = true; } } if (g_Config.iSwipeLeft != 0) { if (dx < -th) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeLeft-1], KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeLeft-1], KEY_DOWN); swipeLeftReleased_ = false; } else if (!swipeLeftReleased_) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeLeft-1], KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeLeft-1], KEY_UP); swipeLeftReleased_ = true; } } if (g_Config.iSwipeUp != 0) { if (dy < -th) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeUp-1], KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeUp-1], KEY_DOWN); swipeUpReleased_ = false; } else if (!swipeUpReleased_) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeUp-1], KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeUp-1], KEY_UP); swipeUpReleased_ = true; } } if (g_Config.iSwipeDown != 0) { if (dy > th) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeDown-1], KEY_DOWN); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeDown-1], KEY_DOWN); swipeDownReleased_ = false; } else if (!swipeDownReleased_) { - controllMapper_->pspKey(GestureKey::keyList[g_Config.iSwipeDown-1], KEY_UP); + controlMapper_->pspKey(DEVICE_ID_TOUCH, GestureKey::keyList[g_Config.iSwipeDown-1], KEY_UP); swipeDownReleased_ = true; } } diff --git a/UI/GamepadEmu.h b/UI/GamepadEmu.h index 978425cd4d..bb8da30ea7 100644 --- a/UI/GamepadEmu.h +++ b/UI/GamepadEmu.h @@ -170,7 +170,7 @@ const int baseActionButtonSpacing = 60; class ComboKey : public MultiTouchButton { public: ComboKey(uint64_t pspButtonBit, const char *key, bool toggle, bool repeat, ControlMapper* controllMapper, ImageID bgImg, ImageID bgDownImg, ImageID img, float scale, bool invertedContextDimension, UI::LayoutParams *layoutParams) - : MultiTouchButton(key, bgImg, bgDownImg, img, scale, layoutParams), pspButtonBit_(pspButtonBit), toggle_(toggle), repeat_(repeat), controllMapper_(controllMapper), on_(false), invertedContextDimension_(invertedContextDimension) { + : MultiTouchButton(key, bgImg, bgDownImg, img, scale, layoutParams), pspButtonBit_(pspButtonBit), toggle_(toggle), repeat_(repeat), controlMapper_(controllMapper), on_(false), invertedContextDimension_(invertedContextDimension) { } void Touch(const TouchInput &input) override; void Update() override; @@ -182,14 +182,14 @@ private: bool toggle_; bool repeat_; int pressedFrames_ = 0; - ControlMapper* controllMapper_; + ControlMapper* controlMapper_; bool on_; bool invertedContextDimension_; // Swap width and height }; class GestureGamepad : public UI::View { public: - GestureGamepad(ControlMapper* controllMapper) : controllMapper_(controllMapper) {}; + GestureGamepad(ControlMapper* controllMapper) : controlMapper_(controllMapper) {}; void Touch(const TouchInput &input) override; void Update() override; @@ -208,7 +208,7 @@ protected: bool swipeUpReleased_ = true; bool swipeDownReleased_ = true; bool haveDoubleTapped_ = false; - ControlMapper* controllMapper_; + ControlMapper* controlMapper_; }; // Just edit this to add new image, shape or button function From 287da42d5e6e634431091df84627dd1ea71abd75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 23 Nov 2022 12:42:44 +0100 Subject: [PATCH 3/3] Add GAS/BRAKE keymappings to Xinput default maps. Fixes #15992 --- Core/KeyMapDefaults.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Core/KeyMapDefaults.cpp b/Core/KeyMapDefaults.cpp index d6d21639cb..8fc2c19a42 100644 --- a/Core/KeyMapDefaults.cpp +++ b/Core/KeyMapDefaults.cpp @@ -128,6 +128,8 @@ static const DefMappingStruct defaultXInputKeyMap[] = { {VIRTKEY_SPEED_TOGGLE, NKCODE_BUTTON_THUMBR}, {VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1}, {VIRTKEY_PAUSE, NKCODE_HOME}, + {VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_GAS, +1}, + {VIRTKEY_PAUSE , JOYSTICK_AXIS_BRAKE, +1}, }; static const DefMappingStruct defaultShieldKeyMap[] = { @@ -188,6 +190,8 @@ static const DefMappingStruct defaultAndroidXboxControllerMap[] = { {CTRL_RTRIGGER , NKCODE_BUTTON_R1}, {VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1}, {VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1}, + {VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_GAS, +1}, + {VIRTKEY_PAUSE , JOYSTICK_AXIS_BRAKE, +1}, {VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1}, {VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1}, {VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1}, @@ -242,6 +246,8 @@ static const DefMappingStruct defaultPadMapAndroid[] = { {VIRTKEY_FASTFORWARD , NKCODE_BUTTON_R2}, {VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1}, {VIRTKEY_PAUSE , NKCODE_BUTTON_L2 }, + {VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_GAS, +1}, + {VIRTKEY_PAUSE , JOYSTICK_AXIS_BRAKE, +1}, {VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1}, {VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1}, {VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},