< 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 >