public synchronized void keyReleased(final java.awt.event.KeyEvent e) { final Key released = fromKeyEventToKey(e); _upcomingEvents.add(new KeyEvent(released, KeyState.UP, e.getKeyChar())); _pressedList.remove(released); if (_consumeEvents) { e.consume(); } }
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); }
final char c = state.getKeyboardState().getKeyEvent().getKeyChar(); if (c >= 32 && c != (char) -1) { if (selection.getSelectionLength() > 0) {
final char c = state.getKeyboardState().getKeyEvent().getKeyChar(); if (c >= 32 && c != (char) -1) { if (selection.getSelectionLength() > 0) {
public synchronized void keyReleased(final java.awt.event.KeyEvent e) { final Key released = fromKeyEventToKey(e); _upcomingEvents.add(new KeyEvent(released, KeyState.UP, e.getKeyChar())); _pressedList.remove(released); if (_consumeEvents) { e.consume(); } }
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); }
char c = state.getKeyboardState().getKeyEvent().getKeyChar(); if (c == '\r') { c = '\n';
public synchronized void keyPressed(final java.awt.event.KeyEvent e) { final Key pressed = fromKeyEventToKey(e); if (!_pressedList.contains(pressed)) { _upcomingEvents.add(new KeyEvent(pressed, KeyState.DOWN, e.getKeyChar())); _pressedList.add(pressed); } if (_consumeEvents) { e.consume(); } }
@Test public void testKeys2() throws Exception { e1.keyCode = 'a'; e2.keyCode = 'b'; kw.keyPressed(e1); kw.keyPressed(e2); final Iterator<KeyEvent> events = kw.getEvents(); final KeyEvent event1 = events.next(); final KeyEvent event2 = events.next(); final KeyEvent event3 = events.next(); assertFalse("no more", events.hasNext()); assertFalse("no more", kw.getEvents().hasNext()); assertEquals("key a", Key.A, event1.getKey()); assertEquals("down", KeyState.DOWN, event1.getState()); assertEquals("key a", Key.A, event2.getKey()); assertEquals("up", KeyState.UP, event2.getState()); assertEquals("key b", Key.B, event3.getKey()); assertEquals("down", KeyState.DOWN, event3.getState()); }
public synchronized void keyPressed(final java.awt.event.KeyEvent e) { final Key pressed = fromKeyEventToKey(e); if (!_pressedList.contains(pressed)) { _upcomingEvents.add(new KeyEvent(pressed, KeyState.DOWN, e.getKeyChar())); _pressedList.add(pressed); } if (_consumeEvents) { e.consume(); } }
@Test public void testKeys1() throws Exception { e1.keyCode = 'a'; kw.keyPressed(e1); kw.keyReleased(e1); final Iterator<KeyEvent> events = kw.getEvents(); final KeyEvent event1 = events.next(); final KeyEvent event2 = events.next(); assertFalse("no more", events.hasNext()); assertFalse("no more", kw.getEvents().hasNext()); assertEquals("key a", Key.A, event1.getKey()); assertEquals("down", KeyState.DOWN, event1.getState()); assertEquals("key a", Key.A, event2.getKey()); assertEquals("up", KeyState.UP, event2.getState()); }
public synchronized void keyReleased(final org.eclipse.swt.events.KeyEvent event) { _upcomingEvents.add(new KeyEvent(fromKeyEventToKey(event), KeyState.UP, event.character)); _lastKeyPressed = null; }
@Test public void testKeys1() throws Exception { e1 = new java.awt.event.KeyEvent(control, 0, 0, 0, AwtKey.A.getAwtCode(), 'a'); kw.keyPressed(e1); kw.keyReleased(e1); final Iterator<KeyEvent> events = kw.getEvents(); final KeyEvent event1 = events.next(); final KeyEvent event2 = events.next(); assertFalse("no more", events.hasNext()); assertFalse("no more", kw.getEvents().hasNext()); assertEquals("key a", Key.A, event1.getKey()); assertEquals("down", KeyState.DOWN, event1.getState()); assertEquals("key a", Key.A, event2.getKey()); assertEquals("up", KeyState.UP, event2.getState()); }
public synchronized void keyReleased(final org.eclipse.swt.events.KeyEvent event) { _upcomingEvents.add(new KeyEvent(fromKeyEventToKey(event), KeyState.UP, event.character)); _lastKeyPressed = null; }
@Test public void testKeys2() throws Exception { e1 = new java.awt.event.KeyEvent(control, 0, 0, 0, AwtKey.A.getAwtCode(), 'a'); e2 = new java.awt.event.KeyEvent(control, 0, 0, 0, AwtKey.B.getAwtCode(), 'b'); kw.keyPressed(e1); kw.keyPressed(e2); final Iterator<KeyEvent> events = kw.getEvents(); final KeyEvent event1 = events.next(); final KeyEvent event2 = events.next(); assertFalse("no more", events.hasNext()); assertFalse("no more", kw.getEvents().hasNext()); assertEquals("key a", Key.A, event1.getKey()); assertEquals("down", KeyState.DOWN, event1.getState()); assertEquals("key b", Key.B, event2.getKey()); assertEquals("down", KeyState.DOWN, event2.getState()); }
public synchronized void keyPressed(final org.eclipse.swt.events.KeyEvent event) { final Key key = fromKeyEventToKey(event); if (key == _lastKeyPressed) { // ignore if this is a repeat event return; } final char keyChar = event.character; if (_lastKeyPressed != null) { // if this is a different key to the last key that was pressed, then // add an 'up' even for the previous one - SWT doesn't send an 'up' event for the // first key in the below scenario: // 1. key 1 down // 2. key 2 down // 3. key 1 up _upcomingEvents.add(new KeyEvent(_lastKeyPressed, KeyState.UP, keyChar)); } _lastKeyPressed = key; _upcomingEvents.add(new KeyEvent(key, KeyState.DOWN, keyChar)); }
@Test public void testKeysRepeat() throws Exception { e1.keyCode = 'a'; kw.keyPressed(e1); kw.keyPressed(e1); final Iterator<KeyEvent> events = kw.getEvents(); final KeyEvent event1 = events.next(); assertFalse("no more", events.hasNext()); assertFalse("no more", kw.getEvents().hasNext()); assertEquals("key a", Key.A, event1.getKey()); assertEquals("down", KeyState.DOWN, event1.getState()); }
public synchronized void keyPressed(final org.eclipse.swt.events.KeyEvent event) { final Key key = fromKeyEventToKey(event); if (key == _lastKeyPressed) { // ignore if this is a repeat event return; } final char keyChar = event.character; if (_lastKeyPressed != null) { // if this is a different key to the last key that was pressed, then // add an 'up' even for the previous one - SWT doesn't send an 'up' event for the // first key in the below scenario: // 1. key 1 down // 2. key 2 down // 3. key 1 up _upcomingEvents.add(new KeyEvent(_lastKeyPressed, KeyState.UP, keyChar)); } _lastKeyPressed = key; _upcomingEvents.add(new KeyEvent(key, KeyState.DOWN, keyChar)); }
@Override public void invoke(final long window, final int keyCode, final int scancode, final int action, final int mods) { final Key key = GLFWKey.findByCode(keyCode); final KeyState state; switch (action) { case GLFW.GLFW_PRESS: state = KeyState.DOWN; break; case GLFW.GLFW_RELEASE: state = KeyState.UP; break; case GLFW.GLFW_REPEAT: default: // do nothing on REPEAT? return; } // TODO: Need to rewrite Ardor's text processing to handle text input coming from elsewhere. final char keyChar = '?'; _upcomingEvents.add(new KeyEvent(key, state, keyChar)); }
@Override public synchronized void keyPressed(final com.jogamp.newt.event.KeyEvent e) { final Key pressed = fromKeyEventToKey(e); if (!_pressedList.contains(pressed)) { _upcomingEvents.add(new KeyEvent(pressed, KeyState.DOWN, e.getKeyChar())); _pressedList.add(pressed); } if (_consumeEvents) { e.setAttachment(NEWTEvent.consumedTag); // ignore this event } }