| AbstractKeyEvent | 
 Abstract key event class to clean up implementations 
 | 
| HoldKey | 
 Event to handle holding a key
 Does not create a new thread on its own, you must put this call inside a thread if you require it to be threaded. 
 | 
| PressKey | 
 Creates a KeyEvent.KEY_PRESSED event
 Marks the key as pressed internally and marks the last key location that was used for the press on that key where available 
 | 
| ReleaseKey | 
 Creates a KeyEvent.KEY_RELEASED event
 Marks the key as released internally
 Resets the last key location used to press this key
 If no location is passed in for this event, it will default to either the key's default location or the last pressed location 
 | 
| TypeKey | 
 Creates a KeyEvent.KEY_TYPED event
 Does NOT handle press or release events. 
 |