--- old/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp 2016-06-20 10:49:16.965439300 +0200 +++ new/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp 2016-06-20 10:49:16.473096300 +0200 @@ -335,7 +335,17 @@ } else { // get the scancode from the virtual key scancode = ::MapVirtualKey(vkey, 0); - if (vkey == VK_RMENU) { + if (vkey == VK_RMENU + || vkey == VK_DELETE + || vkey == VK_INSERT + || vkey == VK_NEXT + || vkey == VK_PRIOR + || vkey == VK_HOME + || vkey == VK_END + || vkey == VK_LEFT + || vkey == VK_RIGHT + || vkey == VK_UP + || vkey == VK_DOWN) { dwFlags |= KEYEVENTF_EXTENDEDKEY; } keybd_event(vkey, scancode, dwFlags, 0);