Package org.lwjgl.input
Class Keyboard
java.lang.Object
org.lwjgl.input.Keyboard
A raw Keyboard interface. This can be used to poll the current state of the keys, or read all the keyboard presses / releases since the last read.
- Version:
- $Revision$ $Id$
- Author:
- cix_foo <cix_foo@users.sourceforge.net>, elias_naur <elias_naur@users.sourceforge.net>, Brian Matzon <brian@matzon.dk>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The special character meaning that no character was translated for the event.static final int
Internal use - event size in bytesstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
Deprecated.Use KEY_LMETA insteadstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
The special keycode meaning that only the translated character is valid.static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
Deprecated.Use KEY_RMETA insteadstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
Check whether repeat events are currently reported or not.static void
create()
"Create" the keyboard.static void
destroy()
"Destroy" the keyboardstatic void
enableRepeatEvents
(boolean enable) Controls whether repeat events are reported or not.static char
static int
Please note that the key code returned is NOT valid against the current keyboard layout.static boolean
Gets the state of the key that generated the current eventstatic long
Gets the time in nanoseconds of the current event.static int
static int
getKeyIndex
(String keyName) Get's a key's index.static String
getKeyName
(int key) Gets a key's namestatic int
Gets the number of keyboard events waiting after doing a buffer enabled poll().static boolean
static boolean
isKeyDown
(int key) Checks to see if a key is down.static boolean
static boolean
next()
Gets the next keyboard event.static void
poll()
Polls the keyboard for its current state.
-
Field Details
-
EVENT_SIZE
public static final int EVENT_SIZEInternal use - event size in bytes- See Also:
-
CHAR_NONE
public static final int CHAR_NONEThe special character meaning that no character was translated for the event.- See Also:
-
KEY_NONE
public static final int KEY_NONEThe special keycode meaning that only the translated character is valid.- See Also:
-
KEY_ESCAPE
public static final int KEY_ESCAPE- See Also:
-
KEY_1
public static final int KEY_1- See Also:
-
KEY_2
public static final int KEY_2- See Also:
-
KEY_3
public static final int KEY_3- See Also:
-
KEY_4
public static final int KEY_4- See Also:
-
KEY_5
public static final int KEY_5- See Also:
-
KEY_6
public static final int KEY_6- See Also:
-
KEY_7
public static final int KEY_7- See Also:
-
KEY_8
public static final int KEY_8- See Also:
-
KEY_9
public static final int KEY_9- See Also:
-
KEY_0
public static final int KEY_0- See Also:
-
KEY_MINUS
public static final int KEY_MINUS- See Also:
-
KEY_EQUALS
public static final int KEY_EQUALS- See Also:
-
KEY_BACK
public static final int KEY_BACK- See Also:
-
KEY_TAB
public static final int KEY_TAB- See Also:
-
KEY_Q
public static final int KEY_Q- See Also:
-
KEY_W
public static final int KEY_W- See Also:
-
KEY_E
public static final int KEY_E- See Also:
-
KEY_R
public static final int KEY_R- See Also:
-
KEY_T
public static final int KEY_T- See Also:
-
KEY_Y
public static final int KEY_Y- See Also:
-
KEY_U
public static final int KEY_U- See Also:
-
KEY_I
public static final int KEY_I- See Also:
-
KEY_O
public static final int KEY_O- See Also:
-
KEY_P
public static final int KEY_P- See Also:
-
KEY_LBRACKET
public static final int KEY_LBRACKET- See Also:
-
KEY_RBRACKET
public static final int KEY_RBRACKET- See Also:
-
KEY_RETURN
public static final int KEY_RETURN- See Also:
-
KEY_LCONTROL
public static final int KEY_LCONTROL- See Also:
-
KEY_A
public static final int KEY_A- See Also:
-
KEY_S
public static final int KEY_S- See Also:
-
KEY_D
public static final int KEY_D- See Also:
-
KEY_F
public static final int KEY_F- See Also:
-
KEY_G
public static final int KEY_G- See Also:
-
KEY_H
public static final int KEY_H- See Also:
-
KEY_J
public static final int KEY_J- See Also:
-
KEY_K
public static final int KEY_K- See Also:
-
KEY_L
public static final int KEY_L- See Also:
-
KEY_SEMICOLON
public static final int KEY_SEMICOLON- See Also:
-
KEY_APOSTROPHE
public static final int KEY_APOSTROPHE- See Also:
-
KEY_GRAVE
public static final int KEY_GRAVE- See Also:
-
KEY_LSHIFT
public static final int KEY_LSHIFT- See Also:
-
KEY_BACKSLASH
public static final int KEY_BACKSLASH- See Also:
-
KEY_Z
public static final int KEY_Z- See Also:
-
KEY_X
public static final int KEY_X- See Also:
-
KEY_C
public static final int KEY_C- See Also:
-
KEY_V
public static final int KEY_V- See Also:
-
KEY_B
public static final int KEY_B- See Also:
-
KEY_N
public static final int KEY_N- See Also:
-
KEY_M
public static final int KEY_M- See Also:
-
KEY_COMMA
public static final int KEY_COMMA- See Also:
-
KEY_PERIOD
public static final int KEY_PERIOD- See Also:
-
KEY_SLASH
public static final int KEY_SLASH- See Also:
-
KEY_RSHIFT
public static final int KEY_RSHIFT- See Also:
-
KEY_MULTIPLY
public static final int KEY_MULTIPLY- See Also:
-
KEY_LMENU
public static final int KEY_LMENU- See Also:
-
KEY_SPACE
public static final int KEY_SPACE- See Also:
-
KEY_CAPITAL
public static final int KEY_CAPITAL- See Also:
-
KEY_F1
public static final int KEY_F1- See Also:
-
KEY_F2
public static final int KEY_F2- See Also:
-
KEY_F3
public static final int KEY_F3- See Also:
-
KEY_F4
public static final int KEY_F4- See Also:
-
KEY_F5
public static final int KEY_F5- See Also:
-
KEY_F6
public static final int KEY_F6- See Also:
-
KEY_F7
public static final int KEY_F7- See Also:
-
KEY_F8
public static final int KEY_F8- See Also:
-
KEY_F9
public static final int KEY_F9- See Also:
-
KEY_F10
public static final int KEY_F10- See Also:
-
KEY_NUMLOCK
public static final int KEY_NUMLOCK- See Also:
-
KEY_SCROLL
public static final int KEY_SCROLL- See Also:
-
KEY_NUMPAD7
public static final int KEY_NUMPAD7- See Also:
-
KEY_NUMPAD8
public static final int KEY_NUMPAD8- See Also:
-
KEY_NUMPAD9
public static final int KEY_NUMPAD9- See Also:
-
KEY_SUBTRACT
public static final int KEY_SUBTRACT- See Also:
-
KEY_NUMPAD4
public static final int KEY_NUMPAD4- See Also:
-
KEY_NUMPAD5
public static final int KEY_NUMPAD5- See Also:
-
KEY_NUMPAD6
public static final int KEY_NUMPAD6- See Also:
-
KEY_ADD
public static final int KEY_ADD- See Also:
-
KEY_NUMPAD1
public static final int KEY_NUMPAD1- See Also:
-
KEY_NUMPAD2
public static final int KEY_NUMPAD2- See Also:
-
KEY_NUMPAD3
public static final int KEY_NUMPAD3- See Also:
-
KEY_NUMPAD0
public static final int KEY_NUMPAD0- See Also:
-
KEY_DECIMAL
public static final int KEY_DECIMAL- See Also:
-
KEY_F11
public static final int KEY_F11- See Also:
-
KEY_F12
public static final int KEY_F12- See Also:
-
KEY_F13
public static final int KEY_F13- See Also:
-
KEY_F14
public static final int KEY_F14- See Also:
-
KEY_F15
public static final int KEY_F15- See Also:
-
KEY_F16
public static final int KEY_F16- See Also:
-
KEY_F17
public static final int KEY_F17- See Also:
-
KEY_F18
public static final int KEY_F18- See Also:
-
KEY_KANA
public static final int KEY_KANA- See Also:
-
KEY_F19
public static final int KEY_F19- See Also:
-
KEY_CONVERT
public static final int KEY_CONVERT- See Also:
-
KEY_NOCONVERT
public static final int KEY_NOCONVERT- See Also:
-
KEY_YEN
public static final int KEY_YEN- See Also:
-
KEY_NUMPADEQUALS
public static final int KEY_NUMPADEQUALS- See Also:
-
KEY_CIRCUMFLEX
public static final int KEY_CIRCUMFLEX- See Also:
-
KEY_AT
public static final int KEY_AT- See Also:
-
KEY_COLON
public static final int KEY_COLON- See Also:
-
KEY_UNDERLINE
public static final int KEY_UNDERLINE- See Also:
-
KEY_KANJI
public static final int KEY_KANJI- See Also:
-
KEY_STOP
public static final int KEY_STOP- See Also:
-
KEY_AX
public static final int KEY_AX- See Also:
-
KEY_UNLABELED
public static final int KEY_UNLABELED- See Also:
-
KEY_NUMPADENTER
public static final int KEY_NUMPADENTER- See Also:
-
KEY_RCONTROL
public static final int KEY_RCONTROL- See Also:
-
KEY_SECTION
public static final int KEY_SECTION- See Also:
-
KEY_NUMPADCOMMA
public static final int KEY_NUMPADCOMMA- See Also:
-
KEY_DIVIDE
public static final int KEY_DIVIDE- See Also:
-
KEY_SYSRQ
public static final int KEY_SYSRQ- See Also:
-
KEY_RMENU
public static final int KEY_RMENU- See Also:
-
KEY_FUNCTION
public static final int KEY_FUNCTION- See Also:
-
KEY_PAUSE
public static final int KEY_PAUSE- See Also:
-
KEY_HOME
public static final int KEY_HOME- See Also:
-
KEY_UP
public static final int KEY_UP- See Also:
-
KEY_PRIOR
public static final int KEY_PRIOR- See Also:
-
KEY_LEFT
public static final int KEY_LEFT- See Also:
-
KEY_RIGHT
public static final int KEY_RIGHT- See Also:
-
KEY_END
public static final int KEY_END- See Also:
-
KEY_DOWN
public static final int KEY_DOWN- See Also:
-
KEY_NEXT
public static final int KEY_NEXT- See Also:
-
KEY_INSERT
public static final int KEY_INSERT- See Also:
-
KEY_DELETE
public static final int KEY_DELETE- See Also:
-
KEY_CLEAR
public static final int KEY_CLEAR- See Also:
-
KEY_LMETA
public static final int KEY_LMETA- See Also:
-
KEY_LWIN
public static final int KEY_LWINDeprecated.Use KEY_LMETA insteadThe left windows key, mapped to KEY_LMETA- See Also:
-
KEY_RMETA
public static final int KEY_RMETA- See Also:
-
KEY_RWIN
public static final int KEY_RWINDeprecated.Use KEY_RMETA insteadThe right windows key, mapped to KEY_RMETA- See Also:
-
KEY_APPS
public static final int KEY_APPS- See Also:
-
KEY_POWER
public static final int KEY_POWER- See Also:
-
KEY_SLEEP
public static final int KEY_SLEEP- See Also:
-
KEYBOARD_SIZE
public static final int KEYBOARD_SIZE- See Also:
-
-
Method Details
-
create
"Create" the keyboard. The display must first have been created. The reason for this is so the keyboard has a window to "focus" in.- Throws:
LWJGLException
- if the keyboard could not be created for any reason
-
isCreated
public static boolean isCreated()- Returns:
- true if the keyboard has been created
-
destroy
public static void destroy()"Destroy" the keyboard -
poll
public static void poll()Polls the keyboard for its current state. Access the polled values using theisKeyDown
method. By using this method, it is possible to "miss" keyboard keys if you don't poll fast enough. To use buffered values, you have to callnext
for each event you want to read. You can query which key caused the event by usinggetEventKey
. To get the state of that key, for that event, usegetEventKeyState
- finally usegetEventCharacter
to get the character for that event. NOTE: This method does not query the operating system for new events. To do that, Display.processMessages() (or Display.update()) must be called first. -
isKeyDown
public static boolean isKeyDown(int key) Checks to see if a key is down.- Parameters:
key
- Keycode to check- Returns:
- true if the key is down according to the last poll()
-
getKeyName
Gets a key's name- Parameters:
key
- The key- Returns:
- a String with the key's human readable name in it or null if the key is unnamed
-
getKeyIndex
Get's a key's index. If the key is unrecognised then KEY_NONE is returned.- Parameters:
keyName
- The key name
-
getNumKeyboardEvents
public static int getNumKeyboardEvents()Gets the number of keyboard events waiting after doing a buffer enabled poll().- Returns:
- the number of keyboard events
-
next
public static boolean next()Gets the next keyboard event. You can query which key caused the event by usinggetEventKey
. To get the state of that key, for that event, usegetEventKeyState
- finally usegetEventCharacter
to get the character for that event.- Returns:
- true if a keyboard event was read, false otherwise
- See Also:
-
enableRepeatEvents
public static void enableRepeatEvents(boolean enable) Controls whether repeat events are reported or not. If repeat events are enabled, key down events are reported when a key is pressed and held for a OS dependent amount of time. To distinguish a repeat event from a normal event, use isRepeatEvent().- See Also:
-
areRepeatEventsEnabled
public static boolean areRepeatEventsEnabled()Check whether repeat events are currently reported or not.- Returns:
- true is repeat events are reported, false if not.
- See Also:
-
getKeyCount
public static int getKeyCount()- Returns:
- Number of keys on this keyboard
-
getEventCharacter
public static char getEventCharacter()- Returns:
- The character from the current event
-
getEventKey
public static int getEventKey()Please note that the key code returned is NOT valid against the current keyboard layout. To get the actual character pressed call getEventCharacter- Returns:
- The key from the current event
-
getEventKeyState
public static boolean getEventKeyState()Gets the state of the key that generated the current event- Returns:
- True if key was down, or false if released
-
getEventNanoseconds
public static long getEventNanoseconds()Gets the time in nanoseconds of the current event. Only useful for relative comparisons with other Keyboard events, as the absolute time has no defined origin.- Returns:
- The time in nanoseconds of the current event
-
isRepeatEvent
public static boolean isRepeatEvent()- Returns:
- true if the current event is a repeat event, false if the current event is not a repeat even or if repeat events are disabled.
- See Also:
-