public WindowInputHandler setImmediateMode(boolean immediateMode) { this.immediateMode = immediateMode; if (immediateMode) { keyControlSet.clear(); mouseControlSet.clear(); if (window != null) { window.setKeyCallback(new ImmediateKeyCallback()); window.setMouseButtonCallback(new ImmediateMouseCallback()); window.setCursorPosCallback(new ImmediateCursorPosCallback()); } } else { mouseDX = 0; mouseDY = 0; if (window != null) { window.setKeyCallback(new BufferedKeyCallback()); window.setMouseButtonCallback(new BufferedMouseCallback()); window.setCursorPosCallback(new BufferedCursorPosCallback()); } } return this; }