de.matthiasmann.twl
Class Event

java.lang.Object
  extended by de.matthiasmann.twl.Event

public final class Event
extends java.lang.Object

UI events for Mouse and Keyboard. The keyboard codes (KEY_*) are compatible with LWJGL 2.x


Nested Class Summary
static class Event.Type
           
 
Field Summary
static char CHAR_NONE
          The special character meaning that no character was translated for the event.
static int KEY_0
           
static int KEY_1
           
static int KEY_2
           
static int KEY_3
           
static int KEY_4
           
static int KEY_5
           
static int KEY_6
           
static int KEY_7
           
static int KEY_8
           
static int KEY_9
           
static int KEY_A
           
static int KEY_ADD
           
static int KEY_APOSTROPHE
           
static int KEY_APPS
           
static int KEY_AT
           
static int KEY_AX
           
static int KEY_B
           
static int KEY_BACK
           
static int KEY_BACKSLASH
           
static int KEY_C
           
static int KEY_CAPITAL
           
static int KEY_CIRCUMFLEX
           
static int KEY_COLON
           
static int KEY_COMMA
           
static int KEY_CONVERT
           
static int KEY_D
           
static int KEY_DECIMAL
           
static int KEY_DELETE
           
static int KEY_DIVIDE
           
static int KEY_DOWN
           
static int KEY_E
           
static int KEY_END
           
static int KEY_EQUALS
           
static int KEY_ESCAPE
           
static int KEY_F
           
static int KEY_F1
           
static int KEY_F10
           
static int KEY_F11
           
static int KEY_F12
           
static int KEY_F13
           
static int KEY_F14
           
static int KEY_F15
           
static int KEY_F2
           
static int KEY_F3
           
static int KEY_F4
           
static int KEY_F5
           
static int KEY_F6
           
static int KEY_F7
           
static int KEY_F8
           
static int KEY_F9
           
static int KEY_G
           
static int KEY_GRAVE
           
static int KEY_H
           
static int KEY_HOME
           
static int KEY_I
           
static int KEY_INSERT
           
static int KEY_J
           
static int KEY_K
           
static int KEY_KANA
           
static int KEY_KANJI
           
static int KEY_L
           
static int KEY_LBRACKET
           
static int KEY_LCONTROL
           
static int KEY_LEFT
           
static int KEY_LMENU
           
static int KEY_LMETA
           
static int KEY_LSHIFT
           
static int KEY_M
           
static int KEY_MINUS
           
static int KEY_MULTIPLY
           
static int KEY_N
           
static int KEY_NEXT
           
static int KEY_NOCONVERT
           
static int KEY_NONE
          The special keycode meaning that only the translated character is valid.
static int KEY_NUMLOCK
           
static int KEY_NUMPAD0
           
static int KEY_NUMPAD1
           
static int KEY_NUMPAD2
           
static int KEY_NUMPAD3
           
static int KEY_NUMPAD4
           
static int KEY_NUMPAD5
           
static int KEY_NUMPAD6
           
static int KEY_NUMPAD7
           
static int KEY_NUMPAD8
           
static int KEY_NUMPAD9
           
static int KEY_NUMPADCOMMA
           
static int KEY_NUMPADENTER
           
static int KEY_NUMPADEQUALS
           
static int KEY_O
           
static int KEY_P
           
static int KEY_PAUSE
           
static int KEY_PERIOD
           
static int KEY_POWER
           
static int KEY_PRIOR
           
static int KEY_Q
           
static int KEY_R
           
static int KEY_RBRACKET
           
static int KEY_RCONTROL
           
static int KEY_RETURN
           
static int KEY_RIGHT
           
static int KEY_RMENU
           
static int KEY_RMETA
           
static int KEY_RSHIFT
           
static int KEY_S
           
static int KEY_SCROLL
           
static int KEY_SEMICOLON
           
static int KEY_SLASH
           
static int KEY_SLEEP
           
static int KEY_SPACE
           
static int KEY_STOP
           
static int KEY_SUBTRACT
           
static int KEY_SYSRQ
           
static int KEY_T
           
static int KEY_TAB
           
static int KEY_U
           
static int KEY_UNDERLINE
           
static int KEY_UNLABELED
           
static int KEY_UP
           
static int KEY_V
           
static int KEY_W
           
static int KEY_X
           
static int KEY_Y
           
static int KEY_YEN
           
static int KEY_Z
           
static int MODIFIER_ALT
          One of the alt/menu keys is pressed
static int MODIFIER_BUTTON
          One of the mouse buttons is pressed
static int MODIFIER_CTRL
          One of the control keys is pressed
static int MODIFIER_LALT
           
static int MODIFIER_LBUTTON
           
static int MODIFIER_LCTRL
           
static int MODIFIER_LMETA
           
static int MODIFIER_LSHIFT
           
static int MODIFIER_MBUTTON
           
static int MODIFIER_META
          One of the meta keys (ALT on Windows) is pressed
static int MODIFIER_RALT
           
static int MODIFIER_RBUTTON
           
static int MODIFIER_RCTRL
           
static int MODIFIER_RMETA
           
static int MODIFIER_RSHIFT
           
static int MODIFIER_SHIFT
          One of the shift keys is pressed
static int MOUSE_LBUTTON
          Left mouse button - this is the primary mouse button
static int MOUSE_MBUTTON
          Middle mouse button
static int MOUSE_RBUTTON
          Right mouse button - this is for context menus
 
Method Summary
 char getKeyChar()
          Returns the key character.
 int getKeyCode()
          Returns the key code.
static int getKeyCodeForName(java.lang.String name)
          Returns the key code for the given key name.
static java.lang.String getKeyNameForCode(int key)
          Returns the name for the given key code or null if the key code is not assigned.
 int getModifiers()
          Returns the current event modifiers
 int getMouseButton()
          The mouse button.
 int getMouseClickCount()
          The mouse click count.
 int getMouseWheelDelta()
          The mouse wheel delta.
 int getMouseX()
          Returns the current absolute mouse X coordinate
 int getMouseY()
          Returns the current absolute mouse Y coordinate
 Event.Type getType()
          Returns the type of the event.
 boolean hasKeyChar()
          Checks if a character is available for theis KEY_PRESSED event
 boolean hasKeyCharNoModifiers()
          Checks if a characters is available and no keyboard modifiers are active (except these needed to generate that character).
 boolean isKeyEvent()
          Returns true for all KEY_* event types.
 boolean isKeyPressedEvent()
          Returns true for the KEY_PRESSED event type.
 boolean isKeyRepeated()
          Returns true if this is a repeated KEY_PRESSED event
 boolean isMouseDragEnd()
          Returns true if this event ends a drag operation
 boolean isMouseDragEvent()
          Returns true if this event is part of a drag operation
 boolean isMouseEvent()
          Returns true for all MOUSE_* event types.
 boolean isMouseEventNoWheel()
          Returns true for all MOUSE_* event types except MOUSE_WHEEL.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODIFIER_LSHIFT

public static final int MODIFIER_LSHIFT
See Also:
Constant Field Values

MODIFIER_LMETA

public static final int MODIFIER_LMETA
See Also:
Constant Field Values

MODIFIER_LCTRL

public static final int MODIFIER_LCTRL
See Also:
Constant Field Values

MODIFIER_RSHIFT

public static final int MODIFIER_RSHIFT
See Also:
Constant Field Values

MODIFIER_RMETA

public static final int MODIFIER_RMETA
See Also:
Constant Field Values

MODIFIER_RCTRL

public static final int MODIFIER_RCTRL
See Also:
Constant Field Values

MODIFIER_LBUTTON

public static final int MODIFIER_LBUTTON
See Also:
Constant Field Values

MODIFIER_RBUTTON

public static final int MODIFIER_RBUTTON
See Also:
Constant Field Values

MODIFIER_MBUTTON

public static final int MODIFIER_MBUTTON
See Also:
Constant Field Values

MODIFIER_LALT

public static final int MODIFIER_LALT
See Also:
Constant Field Values

MODIFIER_RALT

public static final int MODIFIER_RALT
See Also:
Constant Field Values

MODIFIER_SHIFT

public static final int MODIFIER_SHIFT
One of the shift keys is pressed

See Also:
getModifiers(), Constant Field Values

MODIFIER_META

public static final int MODIFIER_META
One of the meta keys (ALT on Windows) is pressed

See Also:
getModifiers(), Constant Field Values

MODIFIER_CTRL

public static final int MODIFIER_CTRL
One of the control keys is pressed

See Also:
getModifiers(), Constant Field Values

MODIFIER_BUTTON

public static final int MODIFIER_BUTTON
One of the mouse buttons is pressed

See Also:
getModifiers(), Constant Field Values

MODIFIER_ALT

public static final int MODIFIER_ALT
One of the alt/menu keys is pressed

See Also:
getModifiers(), Constant Field Values

MOUSE_LBUTTON

public static final int MOUSE_LBUTTON
Left mouse button - this is the primary mouse button

See Also:
getMouseButton(), Constant Field Values

MOUSE_RBUTTON

public static final int MOUSE_RBUTTON
Right mouse button - this is for context menus

See Also:
getMouseButton(), Constant Field Values

MOUSE_MBUTTON

public static final int MOUSE_MBUTTON
Middle mouse button

See Also:
getMouseButton(), Constant Field Values

CHAR_NONE

public static final char CHAR_NONE
The special character meaning that no character was translated for the event.

See Also:
Constant Field Values

KEY_NONE

public static final int KEY_NONE
The special keycode meaning that only the translated character is valid.

See Also:
Constant Field Values

KEY_ESCAPE

public static final int KEY_ESCAPE
See Also:
Constant Field Values

KEY_1

public static final int KEY_1
See Also:
Constant Field Values

KEY_2

public static final int KEY_2
See Also:
Constant Field Values

KEY_3

public static final int KEY_3
See Also:
Constant Field Values

KEY_4

public static final int KEY_4
See Also:
Constant Field Values

KEY_5

public static final int KEY_5
See Also:
Constant Field Values

KEY_6

public static final int KEY_6
See Also:
Constant Field Values

KEY_7

public static final int KEY_7
See Also:
Constant Field Values

KEY_8

public static final int KEY_8
See Also:
Constant Field Values

KEY_9

public static final int KEY_9
See Also:
Constant Field Values

KEY_0

public static final int KEY_0
See Also:
Constant Field Values

KEY_MINUS

public static final int KEY_MINUS
See Also:
Constant Field Values

KEY_EQUALS

public static final int KEY_EQUALS
See Also:
Constant Field Values

KEY_BACK

public static final int KEY_BACK
See Also:
Constant Field Values

KEY_TAB

public static final int KEY_TAB
See Also:
Constant Field Values

KEY_Q

public static final int KEY_Q
See Also:
Constant Field Values

KEY_W

public static final int KEY_W
See Also:
Constant Field Values

KEY_E

public static final int KEY_E
See Also:
Constant Field Values

KEY_R

public static final int KEY_R
See Also:
Constant Field Values

KEY_T

public static final int KEY_T
See Also:
Constant Field Values

KEY_Y

public static final int KEY_Y
See Also:
Constant Field Values

KEY_U

public static final int KEY_U
See Also:
Constant Field Values

KEY_I

public static final int KEY_I
See Also:
Constant Field Values

KEY_O

public static final int KEY_O
See Also:
Constant Field Values

KEY_P

public static final int KEY_P
See Also:
Constant Field Values

KEY_LBRACKET

public static final int KEY_LBRACKET
See Also:
Constant Field Values

KEY_RBRACKET

public static final int KEY_RBRACKET
See Also:
Constant Field Values

KEY_RETURN

public static final int KEY_RETURN
See Also:
Constant Field Values

KEY_LCONTROL

public static final int KEY_LCONTROL
See Also:
Constant Field Values

KEY_A

public static final int KEY_A
See Also:
Constant Field Values

KEY_S

public static final int KEY_S
See Also:
Constant Field Values

KEY_D

public static final int KEY_D
See Also:
Constant Field Values

KEY_F

public static final int KEY_F
See Also:
Constant Field Values

KEY_G

public static final int KEY_G
See Also:
Constant Field Values

KEY_H

public static final int KEY_H
See Also:
Constant Field Values

KEY_J

public static final int KEY_J
See Also:
Constant Field Values

KEY_K

public static final int KEY_K
See Also:
Constant Field Values

KEY_L

public static final int KEY_L
See Also:
Constant Field Values

KEY_SEMICOLON

public static final int KEY_SEMICOLON
See Also:
Constant Field Values

KEY_APOSTROPHE

public static final int KEY_APOSTROPHE
See Also:
Constant Field Values

KEY_GRAVE

public static final int KEY_GRAVE
See Also:
Constant Field Values

KEY_LSHIFT

public static final int KEY_LSHIFT
See Also:
Constant Field Values

KEY_BACKSLASH

public static final int KEY_BACKSLASH
See Also:
Constant Field Values

KEY_Z

public static final int KEY_Z
See Also:
Constant Field Values

KEY_X

public static final int KEY_X
See Also:
Constant Field Values

KEY_C

public static final int KEY_C
See Also:
Constant Field Values

KEY_V

public static final int KEY_V
See Also:
Constant Field Values

KEY_B

public static final int KEY_B
See Also:
Constant Field Values

KEY_N

public static final int KEY_N
See Also:
Constant Field Values

KEY_M

public static final int KEY_M
See Also:
Constant Field Values

KEY_COMMA

public static final int KEY_COMMA
See Also:
Constant Field Values

KEY_PERIOD

public static final int KEY_PERIOD
See Also:
Constant Field Values

KEY_SLASH

public static final int KEY_SLASH
See Also:
Constant Field Values

KEY_RSHIFT

public static final int KEY_RSHIFT
See Also:
Constant Field Values

KEY_MULTIPLY

public static final int KEY_MULTIPLY
See Also:
Constant Field Values

KEY_LMENU

public static final int KEY_LMENU
See Also:
Constant Field Values

KEY_SPACE

public static final int KEY_SPACE
See Also:
Constant Field Values

KEY_CAPITAL

public static final int KEY_CAPITAL
See Also:
Constant Field Values

KEY_F1

public static final int KEY_F1
See Also:
Constant Field Values

KEY_F2

public static final int KEY_F2
See Also:
Constant Field Values

KEY_F3

public static final int KEY_F3
See Also:
Constant Field Values

KEY_F4

public static final int KEY_F4
See Also:
Constant Field Values

KEY_F5

public static final int KEY_F5
See Also:
Constant Field Values

KEY_F6

public static final int KEY_F6
See Also:
Constant Field Values

KEY_F7

public static final int KEY_F7
See Also:
Constant Field Values

KEY_F8

public static final int KEY_F8
See Also:
Constant Field Values

KEY_F9

public static final int KEY_F9
See Also:
Constant Field Values

KEY_F10

public static final int KEY_F10
See Also:
Constant Field Values

KEY_NUMLOCK

public static final int KEY_NUMLOCK
See Also:
Constant Field Values

KEY_SCROLL

public static final int KEY_SCROLL
See Also:
Constant Field Values

KEY_NUMPAD7

public static final int KEY_NUMPAD7
See Also:
Constant Field Values

KEY_NUMPAD8

public static final int KEY_NUMPAD8
See Also:
Constant Field Values

KEY_NUMPAD9

public static final int KEY_NUMPAD9
See Also:
Constant Field Values

KEY_SUBTRACT

public static final int KEY_SUBTRACT
See Also:
Constant Field Values

KEY_NUMPAD4

public static final int KEY_NUMPAD4
See Also:
Constant Field Values

KEY_NUMPAD5

public static final int KEY_NUMPAD5
See Also:
Constant Field Values

KEY_NUMPAD6

public static final int KEY_NUMPAD6
See Also:
Constant Field Values

KEY_ADD

public static final int KEY_ADD
See Also:
Constant Field Values

KEY_NUMPAD1

public static final int KEY_NUMPAD1
See Also:
Constant Field Values

KEY_NUMPAD2

public static final int KEY_NUMPAD2
See Also:
Constant Field Values

KEY_NUMPAD3

public static final int KEY_NUMPAD3
See Also:
Constant Field Values

KEY_NUMPAD0

public static final int KEY_NUMPAD0
See Also:
Constant Field Values

KEY_DECIMAL

public static final int KEY_DECIMAL
See Also:
Constant Field Values

KEY_F11

public static final int KEY_F11
See Also:
Constant Field Values

KEY_F12

public static final int KEY_F12
See Also:
Constant Field Values

KEY_F13

public static final int KEY_F13
See Also:
Constant Field Values

KEY_F14

public static final int KEY_F14
See Also:
Constant Field Values

KEY_F15

public static final int KEY_F15
See Also:
Constant Field Values

KEY_KANA

public static final int KEY_KANA
See Also:
Constant Field Values

KEY_CONVERT

public static final int KEY_CONVERT
See Also:
Constant Field Values

KEY_NOCONVERT

public static final int KEY_NOCONVERT
See Also:
Constant Field Values

KEY_YEN

public static final int KEY_YEN
See Also:
Constant Field Values

KEY_NUMPADEQUALS

public static final int KEY_NUMPADEQUALS
See Also:
Constant Field Values

KEY_CIRCUMFLEX

public static final int KEY_CIRCUMFLEX
See Also:
Constant Field Values

KEY_AT

public static final int KEY_AT
See Also:
Constant Field Values

KEY_COLON

public static final int KEY_COLON
See Also:
Constant Field Values

KEY_UNDERLINE

public static final int KEY_UNDERLINE
See Also:
Constant Field Values

KEY_KANJI

public static final int KEY_KANJI
See Also:
Constant Field Values

KEY_STOP

public static final int KEY_STOP
See Also:
Constant Field Values

KEY_AX

public static final int KEY_AX
See Also:
Constant Field Values

KEY_UNLABELED

public static final int KEY_UNLABELED
See Also:
Constant Field Values

KEY_NUMPADENTER

public static final int KEY_NUMPADENTER
See Also:
Constant Field Values

KEY_RCONTROL

public static final int KEY_RCONTROL
See Also:
Constant Field Values

KEY_NUMPADCOMMA

public static final int KEY_NUMPADCOMMA
See Also:
Constant Field Values

KEY_DIVIDE

public static final int KEY_DIVIDE
See Also:
Constant Field Values

KEY_SYSRQ

public static final int KEY_SYSRQ
See Also:
Constant Field Values

KEY_RMENU

public static final int KEY_RMENU
See Also:
Constant Field Values

KEY_PAUSE

public static final int KEY_PAUSE
See Also:
Constant Field Values

KEY_HOME

public static final int KEY_HOME
See Also:
Constant Field Values

KEY_UP

public static final int KEY_UP
See Also:
Constant Field Values

KEY_PRIOR

public static final int KEY_PRIOR
See Also:
Constant Field Values

KEY_LEFT

public static final int KEY_LEFT
See Also:
Constant Field Values

KEY_RIGHT

public static final int KEY_RIGHT
See Also:
Constant Field Values

KEY_END

public static final int KEY_END
See Also:
Constant Field Values

KEY_DOWN

public static final int KEY_DOWN
See Also:
Constant Field Values

KEY_NEXT

public static final int KEY_NEXT
See Also:
Constant Field Values

KEY_INSERT

public static final int KEY_INSERT
See Also:
Constant Field Values

KEY_DELETE

public static final int KEY_DELETE
See Also:
Constant Field Values

KEY_LMETA

public static final int KEY_LMETA
See Also:
Constant Field Values

KEY_RMETA

public static final int KEY_RMETA
See Also:
Constant Field Values

KEY_APPS

public static final int KEY_APPS
See Also:
Constant Field Values

KEY_POWER

public static final int KEY_POWER
See Also:
Constant Field Values

KEY_SLEEP

public static final int KEY_SLEEP
See Also:
Constant Field Values
Method Detail

getType

public final Event.Type getType()
Returns the type of the event.

Returns:
the type of the event.

isMouseEvent

public final boolean isMouseEvent()
Returns true for all MOUSE_* event types.

Returns:
true if this is a mouse event.

isMouseEventNoWheel

public final boolean isMouseEventNoWheel()
Returns true for all MOUSE_* event types except MOUSE_WHEEL.

Returns:
true if this is a mouse event but not a mouse wheel event.

isKeyEvent

public final boolean isKeyEvent()
Returns true for all KEY_* event types.

Returns:
true if this is a key event.

isKeyPressedEvent

public final boolean isKeyPressedEvent()
Returns true for the KEY_PRESSED event type.

Returns:
true if this is key pressed event.

isMouseDragEvent

public final boolean isMouseDragEvent()
Returns true if this event is part of a drag operation

Returns:
true if this event is part of a drag operation

isMouseDragEnd

public final boolean isMouseDragEnd()
Returns true if this event ends a drag operation

Returns:
true if this event ends a drag operation

getMouseX

public final int getMouseX()
Returns the current absolute mouse X coordinate

Returns:
the current absolute mouse X coordinate

getMouseY

public final int getMouseY()
Returns the current absolute mouse Y coordinate

Returns:
the current absolute mouse Y coordinate

getMouseButton

public final int getMouseButton()
The mouse button. Only valid for MOUSE_BTNDOWN or MOUSE_BTNUP events

Returns:
the mouse button
See Also:
Event.Type.MOUSE_BTNDOWN, Event.Type.MOUSE_BTNUP, MOUSE_LBUTTON, MOUSE_RBUTTON, MOUSE_MBUTTON

getMouseWheelDelta

public final int getMouseWheelDelta()
The mouse wheel delta. Only valid for MOUSE_WHEEL events

Returns:
the mouse wheel delta
See Also:
Event.Type.MOUSE_WHEEL

getMouseClickCount

public final int getMouseClickCount()
The mouse click count. Only valid for MOUSE_CLICKED events

Returns:
the mouse click count
See Also:
Event.Type.MOUSE_CLICKED

getKeyCode

public final int getKeyCode()
Returns the key code. Only valid for KEY_PRESSED or KEY_RELEASED events

Returns:
the key code (one of the KEY_* constants)

getKeyChar

public final char getKeyChar()
Returns the key character. Only valid if hasKeyChar() returns true.

Returns:
the key character
See Also:
hasKeyChar()

hasKeyChar

public final boolean hasKeyChar()
Checks if a character is available for theis KEY_PRESSED event

Returns:
true if a character is available
See Also:
getKeyChar()

hasKeyCharNoModifiers

public final boolean hasKeyCharNoModifiers()
Checks if a characters is available and no keyboard modifiers are active (except these needed to generate that character).

Returns:
true if it's a character without additional modifiers

isKeyRepeated

public final boolean isKeyRepeated()
Returns true if this is a repeated KEY_PRESSED event

Returns:
true if this is a repeated KEY_PRESSED event

getModifiers

public final int getModifiers()
Returns the current event modifiers

Returns:
the current event modifiers

getKeyNameForCode

public static java.lang.String getKeyNameForCode(int key)
Returns the name for the given key code or null if the key code is not assigned.

Parameters:
key - the key code.
Returns:
the name of the key or null.

getKeyCodeForName

public static int getKeyCodeForName(java.lang.String name)
Returns the key code for the given key name. The key name must match one of the KEY_* fields of this class.

Parameters:
name - the key name
Returns:
the key code or KEY_NONE