NOTE: This extension is for GameMaker Studio 1.x. GameMaker Studio 2.x has built-in virtual keyboard support.

The Keyboard extension lets you use the native on-screen keyboard on iOS and Android. In addition to allowing you to programmatically show/hide the keyboard and retrieve the text entered by the user, it lets you customize the keyboard's functionality and appearance according to the platform's API. It also contains functions to access the system's clipboard and even save emojis as sprites, which you can then use in your game or application.

The Keyboard extension is extremely simple to use. Complete documentation is available (see below) and the extension comes with three working examples, ranging from the most basic implementation to an advanced text box system.


  • Show/hide the system keyboard at any moment
  • Get/set the text entered by the user (just like GameMaker's keyboard_string)
  • Change the type and appearance of the keyboard
  • Change the appearance and behaviour of the return key
  • Turn on/off autocapitalization and predictive text
  • Get the height of the keyboard
  • Get/set the clipboard text
  • Read emoji characters and turn them into sprites
  • Enable/disable certain languages such as emoji (iOS only)
  • Also works with external keyboards (Bluetooth and others)


  • Compatible with iOS 8+ and Android 3.0+.
  • Compatible with all GameMaker: Studio modules (contains GML fallback for modules other than iOS and Android).


This extension does not make the existing GML keyboard functionality (events, functions, and built-in variables such as keyboard_string) work on iOS or Android. Instead, it gives a new set of functions to interact with the virtual keyboard on those platforms. Any code dealing with the keyboard on other platforms will have to be rewritten/modified to support the keyboard on iOS and Android using this extension.


Click on "More info":

More info

End User Licence Agreement (EULA).

Age Rating: 4+


GMS1 - Version 1.0.6. Published March 8, 2017

  • Made gmkb_key_was_pressed() more consistent between iOS and Android and improved its documentation
  • Fixed a bug in the textboxes and advanced examples
Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait

Back to Top