if (!currentKState.getKeysDown().isEmpty()) { final EnumSet<Key> pressed = currentKState.getKeysPressedSince(previousKState); if (!pressed.isEmpty()) { for (final Key key : pressed) { final EnumSet<Key> repeats = currentKState.getKeysHeldSince(previousKState); if (!repeats.isEmpty() && _focusedComponent != null) { for (final Key key : repeats) { if (!previousKState.getKeysDown().isEmpty()) { final EnumSet<Key> released = currentKState.getKeysReleasedSince(previousKState); if (!released.isEmpty()) { for (final Key key : released) {
@Test public void testKeysPressed3() throws Exception { ks1 = new KeyboardState(EnumSet.of(Key.A, Key.C, Key.D), KeyEvent.NOTHING); ks2 = new KeyboardState(EnumSet.of(Key.A), KeyEvent.NOTHING); final EnumSet<Key> pressed = ks2.getKeysPressedSince(ks1); assertEquals("0 key", 0, pressed.size()); }
public boolean apply(final TwoInputStates states) { return states.getCurrent().getKeyboardState().isDown(key); } }
private void readKeyboardState() { final PeekingIterator<KeyEvent> eventIterator = _keyboardWrapper.getEvents(); // if no new events, just leave the current state as is if (!eventIterator.hasNext()) { return; } final KeyEvent keyEvent = eventIterator.next(); // EnumSet.copyOf fails if the collection is empty, since it needs at least one object to // figure out which type of enum to deal with. Hence the check below. final EnumSet<Key> keysDown = _currentKeyboardState.getKeysDown().isEmpty() ? EnumSet.noneOf(Key.class) : EnumSet.copyOf(_currentKeyboardState.getKeysDown()); if (keyEvent.getState() == KeyState.DOWN) { keysDown.add(keyEvent.getKey()); } else { // ignore the fact that this removal might fail - for instance, at startup, the // set of keys tracked as down will be empty even if somebody presses a key when the // app starts. keysDown.remove(keyEvent.getKey()); } _currentKeyboardState = new KeyboardState(keysDown, keyEvent); }
@Test public void testKeysReleased1() throws Exception { ks1 = new KeyboardState(EnumSet.of(Key.A, Key.B), KeyEvent.NOTHING); ks2 = new KeyboardState(EnumSet.of(Key.A, Key.E), KeyEvent.NOTHING); final EnumSet<Key> released = ks2.getKeysReleasedSince(ks1); assertEquals("1 key", 1, released.size()); assertTrue("b released", released.contains(Key.B)); }
public boolean apply(final TwoInputStates states) { final InputState currentState = states.getCurrent(); final InputState previousState = states.getPrevious(); return currentState.getKeyboardState().getKeysPressedSince(previousState.getKeyboardState()).contains(key); } }
public boolean apply(final TwoInputStates states) { final InputState currentState = states.getCurrent(); final InputState previousState = states.getPrevious(); return currentState.getKeyboardState().getKeysReleasedSince(previousState.getKeyboardState()).contains(key); } }
final boolean shiftKeyDown = state.getKeyboardState().isAtLeastOneDown(Key.LSHIFT, Key.RSHIFT); final boolean ctrlKeyDown = System.getProperty("mrj.version") == null ? state.getKeyboardState().isAtLeastOneDown(Key.LCONTROL, Key.RCONTROL) state.getKeyboardState().isAtLeastOneDown(Key.LMETA, Key.RMETA); final char c = state.getKeyboardState().getKeyEvent().getKeyChar(); if (c >= 32 && c != (char) -1) { if (selection.getSelectionLength() > 0) {
protected boolean isCtrtlDown(final InputState state) { if (System.getProperty("mrj.version") != null) { // mac return state.getKeyboardState().isAtLeastOneDown(Key.LEFT_META, Key.RIGHT_META); } else { // non-mac return state.getKeyboardState().isAtLeastOneDown(Key.LEFT_CONTROL, Key.RIGHT_CONTROL); } }
@SuppressWarnings({ "unchecked" }) @Before public void setup() throws Exception { pl = createMock("Physicallayer", PhysicalLayer.class); ta1 = createMock("TA1", TriggerAction.class); ta2 = createMock("TA2", TriggerAction.class); p1 = createMock("P1", Predicate.class); p2 = createMock("P2", Predicate.class); canvas = createMock("canvas", Canvas.class); ll = new LogicalLayer(); ll.registerInput(canvas, pl); ks = new KeyboardState(EnumSet.noneOf(Key.class), KeyEvent.NOTHING); ms = new MouseState(0, 0, 0, 0, 0, MouseButton.makeMap(ButtonState.UP, ButtonState.UP, ButtonState.UP), null); cs = new ControllerState(); gs = new GestureState(); mocks = new Object[] { pl, ta1, ta2, p1, p2, canvas }; }
char c = state.getKeyboardState().getKeyEvent().getKeyChar(); if (c == '\r') { c = '\n';
@Test public void testKeysReleased2() throws Exception { ks1 = new KeyboardState(EnumSet.of(Key.A, Key.B), KeyEvent.NOTHING); ks2 = new KeyboardState(EnumSet.noneOf(Key.class), KeyEvent.NOTHING); final EnumSet<Key> released = ks2.getKeysReleasedSince(ks1); assertEquals("2 key", 2, released.size()); assertTrue("a released", released.contains(Key.A)); assertTrue("b released", released.contains(Key.B)); }
public boolean apply(final TwoInputStates twoInputStates) { final InputState currentState = twoInputStates.getCurrent(); final InputState previousState = twoInputStates.getPrevious(); return !currentState.getKeyboardState().getKeysPressedSince(previousState.getKeyboardState()).isEmpty(); } }
private void readKeyboardState() { final PeekingIterator<KeyEvent> eventIterator = _keyboardWrapper.getEvents(); // if no new events, just leave the current state as is if (!eventIterator.hasNext()) { return; } final KeyEvent keyEvent = eventIterator.next(); // EnumSet.copyOf fails if the collection is empty, since it needs at least one object to // figure out which type of enum to deal with. Hence the check below. final EnumSet<Key> keysDown = _currentKeyboardState.getKeysDown().isEmpty() ? EnumSet.noneOf(Key.class) : EnumSet.copyOf(_currentKeyboardState.getKeysDown()); if (keyEvent.getState() == KeyState.DOWN) { keysDown.add(keyEvent.getKey()); } else { // ignore the fact that this removal might fail - for instance, at startup, the // set of keys tracked as down will be empty even if somebody presses a key when the // app starts. keysDown.remove(keyEvent.getKey()); } _currentKeyboardState = new KeyboardState(keysDown, keyEvent); }
public boolean apply(final TwoInputStates states) { final InputState currentState = states.getCurrent(); final InputState previousState = states.getPrevious(); return currentState.getKeyboardState().getKeysReleasedSince(previousState.getKeyboardState()).contains(key); } }
final boolean shiftKeyDown = state.getKeyboardState().isAtLeastOneDown(Key.LSHIFT, Key.RSHIFT); final boolean ctrlKeyDown = System.getProperty("mrj.version") == null ? state.getKeyboardState().isAtLeastOneDown(Key.LCONTROL, Key.RCONTROL) state.getKeyboardState().isAtLeastOneDown(Key.LMETA, Key.RMETA); final char c = state.getKeyboardState().getKeyEvent().getKeyChar(); if (c >= 32 && c != (char) -1) { if (selection.getSelectionLength() > 0) {
protected boolean isShiftDown(final InputState state) { return state.getKeyboardState().isAtLeastOneDown(Key.LEFT_SHIFT, Key.RIGHT_SHIFT); }
if (!currentKState.getKeysDown().isEmpty()) { final EnumSet<Key> pressed = currentKState.getKeysPressedSince(previousKState); if (!pressed.isEmpty()) { for (final Key key : pressed) { final EnumSet<Key> repeats = currentKState.getKeysHeldSince(previousKState); if (!repeats.isEmpty() && _focusedComponent != null) { for (final Key key : repeats) { if (!previousKState.getKeysDown().isEmpty()) { final EnumSet<Key> released = currentKState.getKeysReleasedSince(previousKState); if (!released.isEmpty()) { for (final Key key : released) {
@Test public void testKeysPressed1() throws Exception { ks1 = new KeyboardState(EnumSet.of(Key.A, Key.B), KeyEvent.NOTHING); ks2 = new KeyboardState(EnumSet.of(Key.A, Key.C, Key.D), KeyEvent.NOTHING); final EnumSet<Key> pressed = ks2.getKeysPressedSince(ks1); assertEquals("2 key", 2, pressed.size()); assertTrue("c pressed", pressed.contains(Key.C)); assertTrue("d pressed", pressed.contains(Key.D)); }
public boolean apply(final TwoInputStates states) { return states.getCurrent().getKeyboardState().isDown(key); } }