--- old/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp 2016-06-29 13:11:59.790740900 +0200 +++ new/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp 2016-06-29 13:11:59.314725300 +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);