merge ArvidN

ulab-next
speidy 11 years ago
parent 89cbe76f57
commit 37987a842b

@ -195,14 +195,33 @@ lxrdp_event(struct mod *mod, int msg, long param1, long param2,
switch (msg) switch (msg)
{ {
case 15: /* key down */ case 15: /* key down */
/* Before we handle the first character we synchronize
capslock and numlock. */
/* We collect the state during the first synchronize
( see msg 17) */
if (!mod->bool_keyBoardSynced)
{
LLOGLN(11, ("Additional Sync event handled : %d", mod->keyBoardLockInfo));
mod->inst->input->SynchronizeEvent(mod->inst->input, mod->keyBoardLockInfo);
mod->bool_keyBoardSynced = 1;
}
mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3); mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3);
break; break;
case 16: /* key up */ case 16: /* key up */
mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3); mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3);
break; break;
case 17: /*Synchronize*/ case 17: /* Synchronize */
LLOGLN(11, ("Synchronized event handled")); LLOGLN(11, ("Synchronized event handled : %d",param1));
mod->inst->input->SynchronizeEvent(mod->inst->input, 0); /* In some situations the Synchronize event come to early.
Therefore we store this information and use it when we
receive the first keyboard event
Without this fix numlock and capslock can come
out of sync. */
mod->inst->input->SynchronizeEvent(mod->inst->input, param1);
if (!mod->bool_keyBoardSynced)
{
mod->keyBoardLockInfo = param1;
}
break; break;
case 100: /* mouse move */ case 100: /* mouse move */
LLOGLN(12, ("mouse move %d %d", param1, param2)); LLOGLN(12, ("mouse move %d %d", param1, param2));
@ -256,13 +275,11 @@ lxrdp_event(struct mod *mod, int msg, long param1, long param2,
case 107: /* wheel up */ case 107: /* wheel up */
flags = PTR_FLAGS_WHEEL | 0x0078; flags = PTR_FLAGS_WHEEL | 0x0078;
mod->inst->input->MouseEvent(mod->inst->input, flags, 0, 0); mod->inst->input->MouseEvent(mod->inst->input, flags, 0, 0);
break;
case 108: case 108:
break; break;
case 109: /* wheel down */ case 109: /* wheel down */
flags = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088; flags = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
mod->inst->input->MouseEvent(mod->inst->input, flags, 0, 0); mod->inst->input->MouseEvent(mod->inst->input, flags, 0, 0);
break;
case 110: case 110:
break; break;
case 200: case 200:

Loading…
Cancel
Save