< prev index next >

src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp

Print this page

        

@@ -333,11 +333,21 @@
         // no equivalent Windows key found for given Java keycode
         JNU_ThrowIllegalArgumentException(env, "Invalid key code");
     } 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);
     }
 }
< prev index next >