diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c index 2ad3eae7d10..00d344b2c15 100644 --- a/dlls/user32/tests/input.c +++ b/dlls/user32/tests/input.c @@ -1276,7 +1276,7 @@ static void test_ToUnicode(void) state[VK_LCONTROL] |= HIGHEST_BIT; ret = ToUnicode(VK_TAB, SC_TAB, state, wStr, 2, 0); - todo_wine ok(ret == 0, "ToUnicode for CTRL + Tab didn't return 0 (was %i)\n", ret); + ok(ret == 0, "ToUnicode for CTRL + Tab didn't return 0 (was %i)\n", ret); ret = ToUnicode(VK_RETURN, SC_RETURN, state, wStr, 2, 0); ok(ret == 1, "ToUnicode for CTRL + Return didn't return 1 (was %i)\n", ret); diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c index 80f844542e9..ad41c84b738 100644 --- a/dlls/winex11.drv/keyboard.c +++ b/dlls/winex11.drv/keyboard.c @@ -2679,7 +2679,8 @@ INT CDECL X11DRV_ToUnicodeEx(UINT virtKey, UINT scanCode, const BYTE *lpKeyState if (e.state & ControlMask) { if (((keysym>=33) && (keysym < 'A')) || - ((keysym > 'Z') && (keysym < 'a'))) + ((keysym > 'Z') && (keysym < 'a')) || + (keysym == XK_Tab)) { lpChar[0] = 0; ret = 0;