Draft: Add a simple portal interface to communicate with Steam

Open Simon McVittie requested to merge wip/smcv/steam-portal into main

For example, Steam could run this as a subprocess if desired.


This is just a prototype, and hasn't been fully thought through.

Steam would ideally run this as a subprocess via steam-portal --exit-with-parent (optionally with --replace), so that it is automatically terminated when Steam exits.

The OpenKeyboard method would be enough to implement a GTK/Qt input method something like this:

  • detect whether running under Steam (via an environment variable or something)
  • if not, disable the IM
  • if yes, when focus changes to a text input, call OpenKeyboard()

As prototyped here, it requires the steam-runtime-tools library, but it could be adapted to not.

Edited by Simon McVittie

Merge request reports