There are multiple cases where you may want to let user input text in a familiar way, keeping things intact with system settings and allowing minor tweaks like repositioning the text cursor. Such include consoles, chatboxes, input fields, and other. This example covers these needs with fairly short (less than 70 lines total) and fairly understandable code. It includes the following features:
- Keeps track of input text on window focus loss. If you've tried to make an input box before, you may be similar with that unpleasant default behaviour of keyboard_string in GameMaker.
- Allows to reposition cursor (left / right / home / end keys)
- Allows to use Delete key to erase characters
- Can be easily modified to support other keys and shortcuts
Example includes actual input field object, and sample list drawer, to which typed text is sent upon press of Enter.