2016-09-21 11:37:09 +00:00
|
|
|
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(-)
|
|
|
|
|
2023-12-12 08:52:39 +00:00
|
|
|
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
|
2016-09-21 11:37:09 +00:00
|
|
|
{
|
|
|
|
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;
|
2023-12-12 08:52:39 +00:00
|
|
|
@@ -1558,7 +1559,12 @@ xrdp_wm_key(struct xrdp_wm *self, int de
|
2016-09-21 11:37:09 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
2023-12-12 08:52:39 +00:00
|
|
|
@@ -1569,6 +1575,7 @@ xrdp_wm_key(struct xrdp_wm *self, int de
|
2016-09-21 11:37:09 +00:00
|
|
|
msg, scan_code, device_flags);
|
|
|
|
}
|
|
|
|
|
|
|
|
+ last_key_status = msg;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|