public void simulateKeyPress(final int keyCode, final boolean advanceTime) { onPress(keyCode); Robolectric.flushForegroundThreadScheduler(); final AnyKeyboard keyboard = getCurrentKeyboard(); Assert.assertNotNull(keyboard); Keyboard.Key key = null; for (Keyboard.Key aKey : keyboard.getKeys()) { if (aKey.getPrimaryCode() == keyCode) { key = aKey; break; } } if (key == null) { onKey(keyCode, null, 0, new int[0], true); } else { onKey(keyCode, key, 0, keyboard.getNearestKeys(key.x + 5, key.y + 5), true); } Robolectric.flushForegroundThreadScheduler(); if (advanceTime) ShadowSystemClock.sleep(25); onRelease(keyCode); Robolectric.flushForegroundThreadScheduler(); }