jME 3.10.0-beta1
jMonkeyEngine Hub
June 9, 2026
I already have a RawInputListener, had it even before the update, but that’s just for suppressing some events so that they don’t reach jME. ImGui handles its own input system internally, I was not able to adapt my RawInputListener to pass the events to ImGui (I even tried replicating the entire logic from ImGuiImplSdl3.processEvent in my RawInputListener, but it did not help).
public class ImGuiInputSystem implements RawInputListener {
@Override
public void beginInput() {
}
@Override
public void endInput() {
}
@Override
public void onJoyAxisEvent(JoyAxisEvent evt) {
// not supported
}
@Override
public void onJoyButtonEvent(JoyButtonEvent evt) {
// not supported
}
@Override
public void onMouseMotionEvent(MouseMotionEvent evt) {
if (ImGui.getIO().getWantCaptureMouse()) {
evt.setConsumed();
}
}
@Override
public void onMouseButtonEvent(MouseButtonEvent evt) {
if (ImGui.getIO().getWantCaptureMouse()) {
evt.setConsumed();
}
}
@Override
public void onKeyEvent(KeyInputEvent evt) {
if (ImGui.getIO().getWantCaptureKeyboard()) {
evt.setConsumed();
}
}
@Override
public void onTouchEvent(TouchEvent evt) {
// not supported
}
}
Discussion in the ATmosphere