Data Capture

By recording users’ keystrokes, developers can often obtain valuable data required for various purposes, from development to medical purposes. Fleksy Keyboard SDK supports capturing users’ input in detail. The developers can use the captured data in to ascertain information about users’ taps, words entered, time taken, type of layout, auto-corrected words, and much more.

When configured, the SDK starts capturing data every session and stores data after it. If the session includes multiple data points, the SDK starts storing data to reduce memory usage.

There are two different methods that we present on how to capture data:

  1. Event-based data capture. This implies that the developer obtains the data through a callback function while the end-user is in the process of typing.
  2. Session-based data capture. At the end of the session, the data is provided to the developer / integrator.


  • In case that you only need the data to be sent to a server for post analysis (medical, …) the session-based provides all the data and you can send it as it is to your server.
  • In case that you might take actions while the user is typing, the event-based makes more sense as you would be obtaining the user data while it happens.

What is a Session?

In the context of data capture, the term session refers to the duration between the moment the end-user opens the keyboard and when any of the current parameters are altered. An alteration in any of the parameters is considered:

  1. Change on the language, layout, textfield, …
  2. Keyboard closes.
  3. keyboard rotates from portrait to landscape position.

Most of the data that system provides is related to positions, languages and layouts which only is useful if the main parameters do not change.

Why data capture?

We believe that it is an important feature to enable good-will companies with the desire of improving people’s lives.

If something needs to be added or if you find an error in our documentation, please let us know either on our GitHub or Discord.

Last updated on May 11, 2023