private void onKeyEventQueued(KeyInputEvent evt, NiftyInputConsumer nic) { int code = evt.getKeyCode(); if (code == KeyInput.KEY_LSHIFT || code == KeyInput.KEY_RSHIFT) { shiftDown = evt.isPressed(); } else if (code == KeyInput.KEY_LCONTROL || code == KeyInput.KEY_RCONTROL) { ctrlDown = evt.isPressed(); } KeyboardInputEvent keyEvt = new KeyboardInputEvent(code, evt.getKeyChar(), evt.isPressed(), shiftDown, ctrlDown); if (nic.processKeyboardEvent(keyEvt)) { evt.setConsumed(); } }
@Nonnull private KeyboardInputEvent createKeyEvent(final int key, final int scancode, final int action, final int mods) { final boolean keyDown = action == GLFW_PRESS || action == GLFW_REPEAT; final boolean shiftDown = (mods & GLFW_MOD_SHIFT) != 0; final boolean ctrlDown = (mods & GLFW_MOD_CONTROL) != 0; final int niftyKeyCode = GlfwToNiftyKeyCodeConverter.convertToNiftyKeyCode(key); final String keyName = glfwGetKeyName (key, scancode); final char keyChar = (keyName != null && keyName.length() == 1) ? keyName.charAt(0) : Character.MIN_VALUE; return new KeyboardInputEvent(niftyKeyCode, keyChar, keyDown, shiftDown, ctrlDown); }
private void handleKeyEvent(@Nonnull KeyEvent e, boolean isKeyDown) { int newKeyCode = keyCodeConverter.convertToNiftyKeyCode(e.getKeyCode(), e.getKeyLocation()); keyboardEvents.add(new KeyboardInputEvent(newKeyCode, e .getKeyChar(), isKeyDown, e.isShiftDown(), e.isControlDown())); }
private void handleKeyEvent(@Nonnull KeyEvent e, boolean isKeyDown) { int newKeyCode = keyCodeConverter.convertToNiftyKeyCode(e.getKeyCode(), e.getKeyLocation()); keyboardEvents.add(new KeyboardInputEvent(newKeyCode, e .getKeyChar(), isKeyDown, e.isShiftDown(), e.isControlDown())); }
@Nonnull private KeyboardInputEvent convert(@Nonnull final KeyEvent e, final boolean isKeyDown, final int keyCode) { return new KeyboardInputEvent(keyCode, e.getKeyChar(), isKeyDown, e.isShiftDown(), e.isControlDown()); }
/** * create KeyboardInputEvent. * * @param key key * @param character character * @param keyDown keyDown * @return event */ @Nonnull public KeyboardInputEvent createEvent(final int key, final char character, final boolean keyDown) { if (isShiftDown(key, keyDown)) { shiftDown = true; } else if (isShiftUp(key, keyDown)) { shiftDown = false; } else if (isControlDown(key, keyDown)) { controlDown = true; } else if (isControlUp(key, keyDown)) { controlDown = false; } // because Nifty uses the same keyboard encoding like lwjgl does, we can directly forward // the keyboard event to Nifty without the need for conversion return new KeyboardInputEvent(key, character, keyDown, shiftDown, controlDown); }