xrdp/xrdp-filter-tab-from-mstsc-on-focus-change.patch
Daike Yu 0cba86dc1b Accepting request 1130161 from home:sunweaver:branches:X11:RemoteDesktop
- Trivial rebase of xrdp-disable-8-bpp-vnc-support.patch.
- Trivial rebase of xrdp-support-KillDisconnected-for-Xvnc.patch.
- Rebase xrdp-avahi.diff.
- Rebase xrdp-bsc965647-allow-admin-choose-desktop.patch. Add MATE Desktop
  support. Launch all desktop session in a dbus-run-session context to
  avoid violent interference with simultaneously running local sessions.
- Trivial rebase of xrdp-filter-tab-from-mstsc-on-focus-change.patch.
- Disable xrdp-fate318398-change-expired-password.patch. It does not apply
  cleanly since xrdp 0.9.18. Reconsider its usage.

OBS-URL: https://build.opensuse.org/request/show/1130161
OBS-URL: https://build.opensuse.org/package/show/X11:RemoteDesktop/xrdp?expand=0&rev=123
2023-12-12 08:52:39 +00:00

44 lines
1.5 KiB
Diff

From b8c6e8a1ef89d53d2c6a3e0e45c97d270ca1b94b Mon Sep 17 00:00:00 2001
From: Felix Zhang <fezhang@suse.com>
Date: Fri, 22 Apr 2016 07:27:31 +0800
Subject: [PATCH] xrdp filter tab from mstsc on focus change
---
xrdp/xrdp_wm.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
Index: xrdp-0.9.23.1/xrdp/xrdp_wm.c
===================================================================
--- xrdp-0.9.23.1.orig/xrdp/xrdp_wm.c
+++ xrdp-0.9.23.1/xrdp/xrdp_wm.c
@@ -1506,6 +1506,7 @@ xrdp_wm_key(struct xrdp_wm *self, int de
{
int msg;
struct xrdp_key_info *ki;
+ static int last_key_status = -1;
/*g_printf("count %d\n", self->key_down_list->count);*/
scan_code = scan_code % 128;
@@ -1558,7 +1559,12 @@ xrdp_wm_key(struct xrdp_wm *self, int de
if (ki != 0)
{
- self->mm->mod->mod_event(self->mm->mod, msg, ki->chr, ki->sym,
+ if ((last_key_status != WM_KEYDOWN) && (scan_code == 15) && (device_flags == KBD_FLAG_UP))
+ {
+ g_writeln("Don't track Tab keys from Windows when Max/Min or Move the rdp client window.\n");
+ }
+ else
+ self->mm->mod->mod_event(self->mm->mod, msg, ki->chr, ki->sym,
scan_code, device_flags);
}
}
@@ -1569,6 +1575,7 @@ xrdp_wm_key(struct xrdp_wm *self, int de
msg, scan_code, device_flags);
}
+ last_key_status = msg;
return 0;
}