winex11: Fix Ctrl+Shift+Tab translation.

This commit is contained in:
André Hentschel 2009-06-01 20:10:21 +02:00 committed by Alexandre Julliard
parent d7098d0f4f
commit ef016c32c1
2 changed files with 3 additions and 1 deletions

View File

@ -1285,6 +1285,8 @@ static void test_ToUnicode(void)
state[VK_SHIFT] |= HIGHEST_BIT;
state[VK_LSHIFT] |= HIGHEST_BIT;
ret = ToUnicode(VK_TAB, SC_TAB, state, wStr, 2, 0);
ok(ret == 0, "ToUnicode for CTRL + SHIFT + Tab didn't return 0 (was %i)\n", ret);
ret = ToUnicode(VK_RETURN, SC_RETURN, state, wStr, 2, 0);
todo_wine ok(ret == 0, "ToUnicode for CTRL + SHIFT + Return didn't return 0 (was %i)\n", ret);
}

View File

@ -2618,7 +2618,7 @@ INT CDECL X11DRV_ToUnicodeEx(UINT virtKey, UINT scanCode, const BYTE *lpKeyState
#endif
/* Special case: X turns shift-tab into ISO_Left_Tab. */
/* Here we change it back. */
if (keysym == XK_ISO_Left_Tab)
if (keysym == XK_ISO_Left_Tab && !(e.state & ControlMask))
{
bufW[0] = 0x09;
ret = 1;