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(); } }
private void onMouseMotionEventQueued(MouseMotionEvent evt, NiftyInputConsumer nic) { int wheel = evt.getDeltaWheel() / 120; x = evt.getX(); y = height - evt.getY(); nic.processMouseEvent(x, y, wheel, -1, false); // if (nic.processMouseEvent(niftyEvt) /*|| nifty.getCurrentScreen().isMouseOverElement()*/){ // Do not consume motion events //evt.setConsumed(); // } }
@Override public void forwardEvents(@Nonnull final NiftyInputConsumer inputEventConsumer) { MouseEvent mouseEvent = mouseEvents.poll(); while (mouseEvent != null) { inputEventConsumer.processMouseEvent(mouseEvent.getX(), mouseEvent.getY(), 0, mouseEvent.getButton() - 1, mouseEvent.getButton() != MouseEvent.NOBUTTON); mouseEvent = mouseEvents.poll(); } KeyboardInputEvent keyEvent = keyboardEvents.poll(); while (keyEvent != null) { inputEventConsumer.processKeyboardEvent(keyEvent); keyEvent = keyboardEvents.poll(); } }
@Override public void forwardEvents(@Nonnull final NiftyInputConsumer inputEventConsumer) { MouseEvent mouseEvent = mouseEvents.poll(); while (mouseEvent != null) { inputEventConsumer.processMouseEvent(mouseEvent.getX(), mouseEvent.getY(), 0, mouseEvent.getButton() - 1, mouseEvent.getButton() != MouseEvent.NOBUTTON); mouseEvent = mouseEvents.poll(); } KeyboardInputEvent keyEvent = keyboardEvents.poll(); while (keyEvent != null) { inputEventConsumer.processKeyboardEvent(keyEvent); keyEvent = keyboardEvents.poll(); } }
@Override public void forwardEvents(@Nonnull final NiftyInputConsumer inputEventConsumer) { if (!initialized) return; mouseEventsOut.clear(); keyboardEventsOut.clear(); glfwPollEvents(); while (hasNextKeyboardEvent()) { inputEventConsumer.processKeyboardEvent(nextKeyboardEvent()); } while (hasNextMouseEvent()) { final MouseInputEvent mouseEvent = nextMouseEvent(); inputEventConsumer.processMouseEvent((int) mouseEvent.mouseX, (int) mouseEvent.mouseY, mouseEvent.scrollY, mouseEvent.button, mouseEvent.buttonDown); } }
boolean consumed = nic.processMouseEvent(x, y, 0, button, true) | nifty.getCurrentScreen().isMouseOverElement(); niftyOwnsDragging[button] = consumed; boolean consumed = nic.processMouseEvent(x, y, 0, button, false);
@Override public boolean sendToNifty(@Nonnull final NiftyInputConsumer consumer) { return consumer.processKeyboardEvent(this); }
boolean sendToNifty(@Nonnull final NiftyInputConsumer inputEventConsumer) { return inputEventConsumer.processMouseEvent( mouseX, mouseY, mouseWheel, button, buttonDown); }
@Override public boolean sendToNifty(@Nonnull final NiftyInputConsumer consumer) { return consumer.processKeyboardEvent(this); }
@Override public boolean sendToNifty(@Nonnull final NiftyInputConsumer consumer) { return consumer.processMouseEvent(mouseX, mouseY, -wheelDelta, button, buttonDown); }
private void processKeyboardEvents(@Nonnull final NiftyInputConsumer inputEventConsumer) { KeyboardInputEvent keyEvent = keyboardEvents.poll(); while (keyEvent != null) { // due to or short-circuiting on true, the event will get forward to // keyboardEventsOut if keyboardEventsOut=true if (!niftyHasKeyboardFocus || !inputEventConsumer.processKeyboardEvent(keyEvent)) { keyboardEventsOut.offer(keyEvent); } // get next event keyEvent = keyboardEvents.poll(); } }
@Override public boolean sendToNifty(@Nonnull final NiftyInputConsumer consumer) { return consumer.processMouseEvent(mouseX, mouseY, -wheelDelta, button, buttonDown); }
private void processKeyboardEvents(@Nonnull final NiftyInputConsumer inputEventConsumer) { while (Keyboard.next()) { KeyboardInputEvent event = keyboardEventCreator.createEvent(Keyboard.getEventKey(), Keyboard.getEventCharacter(), Keyboard.getEventKeyState()); // due to or short-circuiting on true, the event will get forward to keyboardEventsOut if keyboardEventsOut=true if (!niftyHasKeyboardFocus || !inputEventConsumer.processKeyboardEvent(event)) { keyboardEventsOut.offer(event); } } }
private void processMouseEvents(@Nonnull final NiftyInputConsumer inputEventConsumer) { int viewportHeight = getViewportHeight(); while (Mouse.next()) { int mouseX = Mouse.getEventX(); int mouseY = viewportHeight - Mouse.getEventY(); int mouseWheel = Mouse.getEventDWheel() / 120; // not sure about that 120 here. works on my system and makes // this return 1 if the wheel is moved the minimal amount. int button = Mouse.getEventButton(); boolean buttonDown = Mouse.getEventButtonState(); // now send the event to nifty boolean mouseEventProcessedByNifty = inputEventConsumer.processMouseEvent(mouseX, mouseY, mouseWheel, button, buttonDown); if (!mouseEventProcessedByNifty) { log.fine("Nifty did not processed this mouse event. You can handle it."); // nifty did not process this event, it did not hit any element mouseEventsOut.offer(new MouseInputEvent(mouseX, mouseY, mouseWheel, button, buttonDown)); if (niftyTakesKeyboardFocusOnClick) { log.fine("Nifty gave up the keyboard focus"); niftyHasKeyboardFocus = false; // give up focus if clicked outside nifty } } else { log.fine("Nifty has processed this mouse event"); // nifty did handle that event. it hit an element and was processed by some GUI element if (niftyTakesKeyboardFocusOnClick) { // take focus if nifty element is clicked log.fine("Nifty takes the keyboard focus back"); niftyHasKeyboardFocus = true; } } } }