<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<summary>Configure devices for the XInput extension.</summary>
<remarks>
<para>
NOTE: this <seecref="T:Gtk.Widget"/> is considered too specialized/little-used for Gtk#, and will in the future be moved to some other package.
If your application needs this <seecref="T:Gtk.Widget"/>, feel free to use it, as the <seecref="T:Gtk.Widget"/> does work and is useful in some applications; it's just not of general interest.
However, we are not accepting new features for the <seecref="T:Gtk.Widget"/>, and it will eventually move out of the Gtk# distribution.
</para>
<para>
<seecref="T:Gtk.InputDialog"/> displays a <seecref="T:Gtk.Dialog"/> which allows the user to configure XInput extension devices.
For each device, they can control the mode of the device (disabled, screen-relative, or window-relative), the mapping of axes to coordinates, and the mapping of the devices macro keys to key press events.
</para>
<para>
<seecref="T:Gtk.InputDialog"/> contains two <seecref="T:Gtk.Button"/>s to which the application can connect; one for closing the <seecref="T:Gtk.Dialog"/>, and one for saving the changes.
No actions are bound to these by default.
The changes that the user makes take effect immediately.
<returns>Creates a new instance of InputDialog, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <seecref="T:Gtk.InputDialog"/> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>