# Android: Window Insets + IME (Soft Keyboard)

**URL:** <https://discourse.libsdl.org/t/android-window-insets-ime-soft-keyboard/65858>\
**Category:** SDL Development\
**Created:** [January 24, 2026, 12:14am UTC](https://discourse.libsdl.org/t/android-window-insets-ime-soft-keyboard/65858 "2026-01-24T00:14:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tophyr](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/tophyr/32/6077_2.png) [@tophyr](https://discourse.libsdl.org/u/tophyr)\
**Post date:** [January 24, 2026, 12:14am UTC](https://discourse.libsdl.org/t/android-window-insets-ime-soft-keyboard/65858/1 "2026-01-24T00:14:58Z")

</div>

In SDLSurface, the window insets are queried anytime they change and the combined inset values are reported to the native layer for later use in SDL\_GetWindowSafeArea. However, the queried insets do not include any regions inset for the onscreen keyboard. Is this intentional?

There doesn’t appear to be any other way to get this information via SDL, which is effectively requiring me to add my own Android-specific plumbing (or modify my copy of SDLSurface.java) to retrieve it.

I put up [Include Android IME in Window Inset calculation by tophyr · Pull Request #14883 · libsdl-org/SDL · GitHub](https://github.com/libsdl-org/SDL/pull/14883) to add this functionality, but again, I’m mainly wondering if I’m misunderstanding something. The “oversight” here seems large enough that I’m doubting myself.
