diff --git a/rdp/rdp.c b/rdp/rdp.c index 213b5b69..c66e88ad 100644 --- a/rdp/rdp.c +++ b/rdp/rdp.c @@ -82,11 +82,11 @@ lib_mod_event(struct mod* mod, int msg, long param1, long param2, { case 15: rdp_rdp_send_input(mod->rdp_layer, s, 0, RDP_INPUT_SCANCODE, - param2, param1, 0); + param4, param3, 0); break; case 16: rdp_rdp_send_input(mod->rdp_layer, s, 0, RDP_INPUT_SCANCODE, - param2, param1, 0); + param4, param3, 0); break; case 17: rdp_rdp_send_input(mod->rdp_layer, s, 0, RDP_INPUT_SYNCHRONIZE, diff --git a/vnc/vnc.c b/vnc/vnc.c index ad57400f..3e67b9fd 100644 --- a/vnc/vnc.c +++ b/vnc/vnc.c @@ -241,7 +241,7 @@ lib_mod_event(struct vnc* v, int msg, long param1, long param2, } else if ((msg >= 15) && (msg <= 16)) /* key events */ { - key = param3; + key = param2; if (key > 0) { init_stream(s, 8192); diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c index ed55efd3..8a11785c 100644 --- a/xrdp/xrdp_wm.c +++ b/xrdp/xrdp_wm.c @@ -1131,8 +1131,8 @@ xrdp_wm_key(struct xrdp_wm* self, int device_flags, int scan_code) &(self->keymap)); if (ki != 0) { - self->mm->mod->mod_event(self->mm->mod, msg, scan_code, - device_flags, ki->sym, ki->chr); + self->mm->mod->mod_event(self->mm->mod, msg, ki->chr, ki->sym, + scan_code, device_flags); } } }