APIdia Launch Partner
Top Fields Constructors Methods
com.badlogic.gdx.backends.lwjgl3

public Class DefaultLwjgl3Input

extends AbstractInput
implements Lwjgl3Input
Class Inheritance
All Implemented Interfaces
com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input, com.badlogic.gdx.utils.Disposable, com.badlogic.gdx.Input
Imports
com.badlogic.gdx.input.NativeInputConfiguration, org.lwjgl.glfw.GLFW, .GLFWCharCallback, .GLFWCursorPosCallback, .GLFWKeyCallback, .GLFWMouseButtonCallback, .GLFWScrollCallback, com.badlogic.gdx.AbstractInput, .Input, .InputEventQueue, .InputProcessor, com.badlogic.gdx.graphics.glutils.HdpiMode

Field Summary

Modifier and TypeField and Description
pack-priv GLFWCharCallback
private GLFWCursorPosCallback
pack-priv int
pack-priv int
pack-priv final InputEventQueue
private InputProcessor
pack-priv final boolean[]
pack-priv boolean
private GLFWKeyCallback
pack-priv char
private GLFWMouseButtonCallback
pack-priv int
pack-priv int
pack-priv int
private GLFWScrollCallback
pack-priv final Lwjgl3Window
Inherited from com.badlogic.gdx.AbstractInput:
justPressedKeyskeyJustPressedpressedKeyCountpressedKeys

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected char
public void
closeTextInputField(boolean sendReturn)

Overrides default com.badlogic.gdx.Input.closeTextInputField.

Closes the native input field and applies the result to the input wrapper.

public void
dispose()

Implements com.badlogic.gdx.utils.Disposable.dispose.

Releases all resources of this object.

public float
public float
public float
public float
getAzimuth()

Implements com.badlogic.gdx.Input.getAzimuth.

The azimuth is the angle of the device's orientation around the z-axis.

public long
public int
public int
public int
public int
public int
getGdxKeyCode(int lwjglKeyCode)

public float
public float
public float
public InputProcessor
public int
public Input.Orientation
public float
getPitch()

Implements com.badlogic.gdx.Input.getPitch.

The pitch is the angle of the device's orientation around the x-axis.

public float
public float
getPressure(int pointer)

Implements com.badlogic.gdx.Input.getPressure.

Returns the pressure of the given pointer, where 0 is untouched.

public float
getRoll()

Implements com.badlogic.gdx.Input.getRoll.

The roll is the angle of the device's orientation around the y-axis.

public int
public void
getRotationMatrix(float[] matrix)

Implements com.badlogic.gdx.Input.getRotationMatrix.

Returns the rotation matrix describing the devices rotation as per SensorManager#getRotationMatrix(float[], float[], float[], float[]).

public void
getTextInput(Input.TextInputListener listener, String title, String text, String hint)

Implements com.badlogic.gdx.Input.getTextInput.

System dependent method to input a string of text.

public void
getTextInput(Input.TextInputListener listener, String title, String text, String hint, Input.OnscreenKeyboardType type)

Implements com.badlogic.gdx.Input.getTextInput.

System dependent method to input a string of text.

public int
public int
getX(int pointer)

Implements com.badlogic.gdx.Input.getX.

Returns the x coordinate in screen coordinates of the given pointer.

public int
public int
getY(int pointer)

Implements com.badlogic.gdx.Input.getY.

Returns the y coordinate in screen coordinates of the given pointer.

public boolean
isButtonJustPressed(int button)

Implements com.badlogic.gdx.Input.isButtonJustPressed.

Returns whether a given button has just been pressed.

public boolean
isButtonPressed(int button)

Implements com.badlogic.gdx.Input.isButtonPressed.

Whether a given button is pressed or not.

public boolean
public boolean
isPeripheralAvailable(Input.Peripheral peripheral)

Implements com.badlogic.gdx.Input.isPeripheralAvailable.

Queries whether a Peripheral is currently available.

public boolean
public boolean
isTouched(int pointer)

Implements com.badlogic.gdx.Input.isTouched.

Whether the screen is currently touched by the pointer with the given index.

public boolean
pack-priv void
keyCallback(long window, int key, int scancode, int action, int mods)

public void
openTextInputField(NativeInputConfiguration configuration)

Implements com.badlogic.gdx.Input.openTextInputField.

Sets the on-screen keyboard visible if available.

public void
public void
public void
setCursorCatched(boolean catched)

Implements com.badlogic.gdx.Input.setCursorCatched.

Only viable on the desktop.

public void
setCursorPosition(int x, int y)

Implements com.badlogic.gdx.Input.setCursorPosition.

Only viable on the desktop.

public void
setInputProcessor(InputProcessor processor)

Implements com.badlogic.gdx.Input.setInputProcessor.

Sets the InputProcessor that will receive all touch and key input events.

public void
setKeyboardHeightObserver(Input.KeyboardHeightObserver observer)

Implements com.badlogic.gdx.Input.setKeyboardHeightObserver.

This will set a keyboard height callback.

public void
setOnscreenKeyboardVisible(boolean visible)

Implements com.badlogic.gdx.Input.setOnscreenKeyboardVisible.

Sets the on-screen keyboard visible if available.

public void
setOnscreenKeyboardVisible(boolean visible, Input.OnscreenKeyboardType type)

Implements com.badlogic.gdx.Input.setOnscreenKeyboardVisible.

Sets the on-screen keyboard visible if available.

public void
public void
vibrate(int milliseconds)

Implements com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a given duration or a vibration effect on devices without haptic capabilities.

public void
vibrate(int milliseconds, boolean fallback)

Implements com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a given duration and default amplitude.

public void
vibrate(int milliseconds, int amplitude, boolean fallback)

Implements com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a given duration and amplitude.

public void
vibrate(Input.VibrationType vibrationType)

Implements com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a type.

public void
Inherited from com.badlogic.gdx.AbstractInput:
isCatchKeyisKeyJustPressedisKeyPressedsetCatchKey

Field Detail

charCallbackback to summary
pack-priv GLFWCharCallback charCallback
cursorPosCallbackback to summary
private GLFWCursorPosCallback cursorPosCallback
deltaXback to summary
pack-priv int deltaX
deltaYback to summary
pack-priv int deltaY
eventQueueback to summary
pack-priv final InputEventQueue eventQueue
inputProcessorback to summary
private InputProcessor inputProcessor
justPressedButtonsback to summary
pack-priv final boolean[] justPressedButtons
justTouchedback to summary
pack-priv boolean justTouched
keyCallbackback to summary
private GLFWKeyCallback keyCallback
lastCharacterback to summary
pack-priv char lastCharacter
mouseButtonCallbackback to summary
private GLFWMouseButtonCallback mouseButtonCallback
mousePressedback to summary
pack-priv int mousePressed
mouseXback to summary
pack-priv int mouseX
mouseYback to summary
pack-priv int mouseY
scrollCallbackback to summary
private GLFWScrollCallback scrollCallback
windowback to summary
pack-priv final Lwjgl3Window window

Constructor Detail

DefaultLwjgl3Inputback to summary
public DefaultLwjgl3Input(Lwjgl3Window window)

Method Detail

characterForKeyCodeback to summary
protected char characterForKeyCode(int key)
closeTextInputFieldback to summary
public void closeTextInputField(boolean sendReturn)

Overrides default com.badlogic.gdx.Input.closeTextInputField.

Doc from com.badlogic.gdx.Input.closeTextInputField.

Closes the native input field and applies the result to the input wrapper.

Annotations
@Override
disposeback to summary
public void dispose()

Implements com.badlogic.gdx.utils.Disposable.dispose.

Doc from com.badlogic.gdx.utils.Disposable.dispose.

Releases all resources of this object.

Annotations
@Override
getAccelerometerXback to summary
public float getAccelerometerX()

Implements com.badlogic.gdx.Input.getAccelerometerX.

Annotations
@Override
getAccelerometerYback to summary
public float getAccelerometerY()

Implements com.badlogic.gdx.Input.getAccelerometerY.

Annotations
@Override
getAccelerometerZback to summary
public float getAccelerometerZ()

Implements com.badlogic.gdx.Input.getAccelerometerZ.

Annotations
@Override
getAzimuthback to summary
public float getAzimuth()

Implements com.badlogic.gdx.Input.getAzimuth.

Doc from com.badlogic.gdx.Input.getAzimuth.

The azimuth is the angle of the device's orientation around the z-axis. The positive z-axis points towards the earths center.

Annotations
@Override
getCurrentEventTimeback to summary
public long getCurrentEventTime()

Implements com.badlogic.gdx.Input.getCurrentEventTime.

Annotations
@Override
getDeltaXback to summary
public int getDeltaX()

Implements com.badlogic.gdx.Input.getDeltaX.

Annotations
@Override
getDeltaXback to summary
public int getDeltaX(int pointer)

Implements com.badlogic.gdx.Input.getDeltaX.

Annotations
@Override
getDeltaYback to summary
public int getDeltaY()

Implements com.badlogic.gdx.Input.getDeltaY.

Annotations
@Override
getDeltaYback to summary
public int getDeltaY(int pointer)

Implements com.badlogic.gdx.Input.getDeltaY.

Annotations
@Override
getGdxKeyCodeback to summary
public int getGdxKeyCode(int lwjglKeyCode)
getGyroscopeXback to summary
public float getGyroscopeX()

Implements com.badlogic.gdx.Input.getGyroscopeX.

Annotations
@Override
getGyroscopeYback to summary
public float getGyroscopeY()

Implements com.badlogic.gdx.Input.getGyroscopeY.

Annotations
@Override
getGyroscopeZback to summary
public float getGyroscopeZ()

Implements com.badlogic.gdx.Input.getGyroscopeZ.

Annotations
@Override
getInputProcessorback to summary
public InputProcessor getInputProcessor()

Implements com.badlogic.gdx.Input.getInputProcessor.

Annotations
@Override
getMaxPointersback to summary
public int getMaxPointers()

Implements com.badlogic.gdx.Input.getMaxPointers.

Annotations
@Override
getNativeOrientationback to summary
public Input.Orientation getNativeOrientation()

Implements com.badlogic.gdx.Input.getNativeOrientation.

Annotations
@Override
getPitchback to summary
public float getPitch()

Implements com.badlogic.gdx.Input.getPitch.

Doc from com.badlogic.gdx.Input.getPitch.

The pitch is the angle of the device's orientation around the x-axis. The positive x-axis roughly points to the west and is orthogonal to the z- and y-axis.

Annotations
@Override
getPressureback to summary
public float getPressure()

Implements com.badlogic.gdx.Input.getPressure.

Annotations
@Override
getPressureback to summary
public float getPressure(int pointer)

Implements com.badlogic.gdx.Input.getPressure.

Doc from com.badlogic.gdx.Input.getPressure.

Returns the pressure of the given pointer, where 0 is untouched. On Android it should be up to 1.0, but it can go above that slightly and its not consistent between devices. On iOS 1.0 is the normal touch and significantly more of hard touch. Check relevant manufacturer documentation for details. Check availability with Input#isPeripheralAvailable(Peripheral). If not supported, returns 1.0 when touched.

Annotations
@Override
getRollback to summary
public float getRoll()

Implements com.badlogic.gdx.Input.getRoll.

Doc from com.badlogic.gdx.Input.getRoll.

The roll is the angle of the device's orientation around the y-axis. The positive y-axis points to the magnetic north pole of the earth.

Annotations
@Override
getRotationback to summary
public int getRotation()

Implements com.badlogic.gdx.Input.getRotation.

Annotations
@Override
getRotationMatrixback to summary
public void getRotationMatrix(float[] matrix)

Implements com.badlogic.gdx.Input.getRotationMatrix.

Doc from com.badlogic.gdx.Input.getRotationMatrix.

Returns the rotation matrix describing the devices rotation as per SensorManager#getRotationMatrix(float[], float[], float[], float[]). Does not manipulate the matrix if the platform does not have an accelerometer.

Annotations
@Override
getTextInputback to summary
public void getTextInput(Input.TextInputListener listener, String title, String text, String hint)

Implements com.badlogic.gdx.Input.getTextInput.

Doc from com.badlogic.gdx.Input.getTextInput.

System dependent method to input a string of text. A dialog box will be created with the given title and the given text as a message for the user. Will use the Default keyboard type. Once the dialog has been closed the provided TextInputListener will be called on the rendering thread.

Annotations
@Override
getTextInputback to summary
public void getTextInput(Input.TextInputListener listener, String title, String text, String hint, Input.OnscreenKeyboardType type)

Implements com.badlogic.gdx.Input.getTextInput.

Doc from com.badlogic.gdx.Input.getTextInput.

System dependent method to input a string of text. A dialog box will be created with the given title and the given text as a message for the user. Once the dialog has been closed the provided TextInputListener will be called on the rendering thread.

Annotations
@Override
getXback to summary
public int getX()

Implements com.badlogic.gdx.Input.getX.

Annotations
@Override
getXback to summary
public int getX(int pointer)

Implements com.badlogic.gdx.Input.getX.

Doc from com.badlogic.gdx.Input.getX.

Returns the x coordinate in screen coordinates of the given pointer. Pointers are indexed from 0 to n. The pointer id identifies the order in which the fingers went down on the screen, e.g. 0 is the first finger, 1 is the second and so on. When two fingers are touched down and the first one is lifted the second one keeps its index. If another finger is placed on the touch screen the first free index will be used.

Annotations
@Override
getYback to summary
public int getY()

Implements com.badlogic.gdx.Input.getY.

Annotations
@Override
getYback to summary
public int getY(int pointer)

Implements com.badlogic.gdx.Input.getY.

Doc from com.badlogic.gdx.Input.getY.

Returns the y coordinate in screen coordinates of the given pointer. Pointers are indexed from 0 to n. The pointer id identifies the order in which the fingers went down on the screen, e.g. 0 is the first finger, 1 is the second and so on. When two fingers are touched down and the first one is lifted the second one keeps its index. If another finger is placed on the touch screen the first free index will be used.

Annotations
@Override
isButtonJustPressedback to summary
public boolean isButtonJustPressed(int button)

Implements com.badlogic.gdx.Input.isButtonJustPressed.

Doc from com.badlogic.gdx.Input.isButtonJustPressed.

Returns whether a given button has just been pressed. Button constants can be found in Buttons. On Android only the Buttons#LEFT constant is meaningful before version 4.0. On WebGL (GWT), only LEFT, RIGHT and MIDDLE buttons are supported.

Annotations
@Override
isButtonPressedback to summary
public boolean isButtonPressed(int button)

Implements com.badlogic.gdx.Input.isButtonPressed.

Doc from com.badlogic.gdx.Input.isButtonPressed.

Whether a given button is pressed or not. Button constants can be found in Buttons. On Android only the Buttons#LEFT constant is meaningful before version 4.0.

Annotations
@Override
isCursorCatchedback to summary
public boolean isCursorCatched()

Implements com.badlogic.gdx.Input.isCursorCatched.

Annotations
@Override
isPeripheralAvailableback to summary
public boolean isPeripheralAvailable(Input.Peripheral peripheral)

Implements com.badlogic.gdx.Input.isPeripheralAvailable.

Doc from com.badlogic.gdx.Input.isPeripheralAvailable.

Queries whether a Peripheral is currently available. In case of Android and the Peripheral#HardwareKeyboard this returns the whether the keyboard is currently slid out or not.

Annotations
@Override
isTouchedback to summary
public boolean isTouched()

Implements com.badlogic.gdx.Input.isTouched.

Annotations
@Override
isTouchedback to summary
public boolean isTouched(int pointer)

Implements com.badlogic.gdx.Input.isTouched.

Doc from com.badlogic.gdx.Input.isTouched.

Whether the screen is currently touched by the pointer with the given index. Pointers are indexed from 0 to n. The pointer id identifies the order in which the fingers went down on the screen, e.g. 0 is the first finger, 1 is the second and so on. When two fingers are touched down and the first one is lifted the second one keeps its index. If another finger is placed on the touch screen the first free index will be used.

Annotations
@Override
justTouchedback to summary
public boolean justTouched()

Implements com.badlogic.gdx.Input.justTouched.

Annotations
@Override
keyCallbackback to summary
pack-priv void keyCallback(long window, int key, int scancode, int action, int mods)
openTextInputFieldback to summary
public void openTextInputField(NativeInputConfiguration configuration)

Implements com.badlogic.gdx.Input.openTextInputField.

Doc from com.badlogic.gdx.Input.openTextInputField.

Sets the on-screen keyboard visible if available.

Annotations
@Override
prepareNextback to summary
public void prepareNext()

Implements com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.prepareNext.

Annotations
@Override
resetPollingStatesback to summary
public void resetPollingStates()

Implements com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.resetPollingStates.

Annotations
@Override
setCursorCatchedback to summary
public void setCursorCatched(boolean catched)

Implements com.badlogic.gdx.Input.setCursorCatched.

Doc from com.badlogic.gdx.Input.setCursorCatched.

Only viable on the desktop. Will confine the mouse cursor location to the window and hide the mouse cursor. X and y coordinates are still reported as if the mouse was not catched.

Annotations
@Override
setCursorPositionback to summary
public void setCursorPosition(int x, int y)

Implements com.badlogic.gdx.Input.setCursorPosition.

Doc from com.badlogic.gdx.Input.setCursorPosition.

Only viable on the desktop. Will set the mouse cursor location to the given window coordinates (origin top-left corner).

Annotations
@Override
setInputProcessorback to summary
public void setInputProcessor(InputProcessor processor)

Implements com.badlogic.gdx.Input.setInputProcessor.

Doc from com.badlogic.gdx.Input.setInputProcessor.

Sets the InputProcessor that will receive all touch and key input events. It will be called before the ApplicationListener#render() method each frame.

Annotations
@Override
setKeyboardHeightObserverback to summary
public void setKeyboardHeightObserver(Input.KeyboardHeightObserver observer)

Implements com.badlogic.gdx.Input.setKeyboardHeightObserver.

Doc from com.badlogic.gdx.Input.setKeyboardHeightObserver.

This will set a keyboard height callback. This will get called, whenever the keyboard height changes.

Note

When using openTextInputField, it will report the height of the native input field too.

Annotations
@Override
setOnscreenKeyboardVisibleback to summary
public void setOnscreenKeyboardVisible(boolean visible)

Implements com.badlogic.gdx.Input.setOnscreenKeyboardVisible.

Doc from com.badlogic.gdx.Input.setOnscreenKeyboardVisible.

Sets the on-screen keyboard visible if available. Will use the Default keyboard type.

Annotations
@Override
setOnscreenKeyboardVisibleback to summary
public void setOnscreenKeyboardVisible(boolean visible, Input.OnscreenKeyboardType type)

Implements com.badlogic.gdx.Input.setOnscreenKeyboardVisible.

Doc from com.badlogic.gdx.Input.setOnscreenKeyboardVisible.

Sets the on-screen keyboard visible if available.

Annotations
@Override
updateback to summary
public void update()

Implements com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.update.

Annotations
@Override
vibrateback to summary
public void vibrate(int milliseconds)

Implements com.badlogic.gdx.Input.vibrate.

Doc from com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a given duration or a vibration effect on devices without haptic capabilities. Note that on Android backend you'll need the permission <uses-permission android:name="android.permission.VIBRATE" /> in your manifest file in order for this to work. On iOS backend you'll need to set useHaptics = true for devices with haptics capabilities to use them.

Annotations
@Override
vibrateback to summary
public void vibrate(int milliseconds, boolean fallback)

Implements com.badlogic.gdx.Input.vibrate.

Doc from com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a given duration and default amplitude. Note that on Android backend you'll need the permission <uses-permission android:name="android.permission.VIBRATE" /> in your manifest file in order for this to work. On iOS backend you'll need to set useHaptics = true for devices with haptics capabilities to use them.

Annotations
@Override
vibrateback to summary
public void vibrate(int milliseconds, int amplitude, boolean fallback)

Implements com.badlogic.gdx.Input.vibrate.

Doc from com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a given duration and amplitude. Note that on Android backend you'll need the permission <uses-permission android:name="android.permission.VIBRATE" /> in your manifest file in order for this to work. On iOS backend you'll need to set useHaptics = true for devices with haptics capabilities to use them.

Annotations
@Override
vibrateback to summary
public void vibrate(Input.VibrationType vibrationType)

Implements com.badlogic.gdx.Input.vibrate.

Doc from com.badlogic.gdx.Input.vibrate.

Generates a simple haptic effect of a type. VibrationTypes are length/amplitude haptic effect presets that depend on each device and are defined by manufacturers. Should give most consistent results across devices and OSs. Note that on Android backend you'll need the permission <uses-permission android:name="android.permission.VIBRATE" /> in your manifest file in order for this to work. On iOS backend you'll need to set useHaptics = true for devices with haptics capabilities to use them.

Annotations
@Override
windowHandleChangedback to summary
public void windowHandleChanged(long windowHandle)

Implements com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.windowHandleChanged.

Annotations
@Override