Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Bernon <rbernon@codeweavers.com>2021-01-14 14:54:31 +0300
committerAndrew Eikum <aeikum@codeweavers.com>2021-01-14 19:11:07 +0300
commit42e1584e719596ac4b46fcc6d0fd8f3872aab0e1 (patch)
tree5c6368bdfaa8399c64808a8d2b558821848e3334
parentd72f1ef9304bd3eb65b5a0df84ae99ef9bf44b1a (diff)
steamclient: Fake Shift + Tab key release on overlay activation.proton-5.13-5
-rw-r--r--lsteamclient/steamclient_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lsteamclient/steamclient_main.c b/lsteamclient/steamclient_main.c
index 0ca40aa6..c4df70fe 100644
--- a/lsteamclient/steamclient_main.c
+++ b/lsteamclient/steamclient_main.c
@@ -8,6 +8,7 @@
#include "windef.h"
#include "winbase.h"
#include "winnls.h"
+#include "winuser.h"
#include "wine/debug.h"
#include "wine/library.h"
#include "wine/list.h"
@@ -564,7 +565,13 @@ bool CDECL Steam_BGetCallback(HSteamPipe pipe, struct winCallbackMsg_t *win_msg,
{
uint8 activated = *(uint8 *)lin_msg.m_pubParam;
TRACE("steam overlay %sactivated, %sabling all X11 events.\n", activated ? "" : "de", activated ? "dis" : "en");
- if (activated) SetEvent(steam_overlay_event);
+ if (activated)
+ {
+ SetEvent(steam_overlay_event);
+ keybd_event(VK_LSHIFT, 0x2a /* lshift scancode */, KEYEVENTF_KEYUP, 0);
+ keybd_event(VK_RSHIFT, 0x36 /* rshift scancode */, KEYEVENTF_KEYUP, 0);
+ keybd_event(VK_TAB, 0x0f /* tab scancode */, KEYEVENTF_KEYUP, 0);
+ }
else ResetEvent(steam_overlay_event);
}