summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_wm.c
diff options
context:
space:
mode:
Diffstat (limited to 'xrdp/xrdp_wm.c')
-rw-r--r--xrdp/xrdp_wm.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c
index d2ef8fa5..4a9baecd 100644
--- a/xrdp/xrdp_wm.c
+++ b/xrdp/xrdp_wm.c
@@ -1171,12 +1171,18 @@ xrdp_wm_key(struct xrdp_wm* self, int device_flags, int scan_code)
self->num_lock,
self->scroll_lock,
self->session->client_info->keylayout);
- /*g_printf("%x\n", c);*/
- if (c != 0)
+ /* this means don't send anything */
+ /* used to qvoid sending alt to xserver eg altgr */
+ /* if alt state is down, the xserver avoids the keystroke */
+ if (c == 1)
{
- self->mod->mod_event(self->mod, msg, c, 0xffff,
+ }
+ else if (c != 0)
+ {
+ self->mod->mod_event(self->mod, msg, (unsigned char)c, 0xffff,
scan_code, device_flags);
- xrdp_add_key_down(self, c, 0xffff, scan_code, device_flags);
+ xrdp_add_key_down(self, (unsigned char)c, 0xffff, scan_code,
+ device_flags);
}
else
{