gdk: Virtual keyboard and text input backend

This commit is contained in:
Nikita Krapivin
2023-06-01 01:09:34 +05:00
committed by Sam Lantinga
parent b6a88b0339
commit c886e80675
8 changed files with 497 additions and 0 deletions

View File

@@ -2413,6 +2413,110 @@ extern "C" {
#define SDL_HINT_TRACKPAD_IS_TOUCH_ONLY "SDL_TRACKPAD_IS_TOUCH_ONLY"
/**
* \brief Sets the title of the TextInput window on GDK platforms.
*
* On GDK, if SDL_GDK_TEXTINPUT is defined, you can use the
* standard SDL text input and virtual keyboard capabilities
* to get text from the user.
*
* This hint allows you to customize the virtual keyboard
* window that will be shown to the user.
*
* Set this hint to change the title of the window.
*
* This hint will not affect a window that is already being
* shown to the user. It will only affect new input windows.
*
* This hint is available only if SDL_GDK_TEXTINPUT defined.
*/
#define SDL_HINT_GDK_TEXTINPUT_TITLE "SDL_GDK_TEXTINPUT_TITLE"
/**
* \brief Sets the description of the TextInput window on GDK platforms.
*
* On GDK, if SDL_GDK_TEXTINPUT is defined, you can use the
* standard SDL text input and virtual keyboard capabilities
* to get text from the user.
*
* This hint allows you to customize the virtual keyboard
* window that will be shown to the user.
*
* Set this hint to change the description of the window.
*
* This hint will not affect a window that is already being
* shown to the user. It will only affect new input windows.
*
* This hint is available only if SDL_GDK_TEXTINPUT defined.
*/
#define SDL_HINT_GDK_TEXTINPUT_DESCRIPTION "SDL_GDK_TEXTINPUT_DESCRIPTION"
/**
* \brief Sets the default text of the TextInput window on GDK platforms.
*
* On GDK, if SDL_GDK_TEXTINPUT is defined, you can use the
* standard SDL text input and virtual keyboard capabilities
* to get text from the user.
*
* This hint allows you to customize the virtual keyboard
* window that will be shown to the user.
*
* Set this hint to change the default text value of the window.
*
* This hint will not affect a window that is already being
* shown to the user. It will only affect new input windows.
*
* This hint is available only if SDL_GDK_TEXTINPUT defined.
*/
#define SDL_HINT_GDK_TEXTINPUT_DEFAULT "SDL_GDK_TEXTINPUT_DEFAULT"
/**
* \brief Sets the input scope of the TextInput window on GDK platforms.
*
* On GDK, if SDL_GDK_TEXTINPUT is defined, you can use the
* standard SDL text input and virtual keyboard capabilities
* to get text from the user.
*
* This hint allows you to customize the virtual keyboard
* window that will be shown to the user.
*
* Set this hint to change the XGameUiTextEntryInputScope value
* that will be passed to the window creation function.
*
* The value must be a stringified integer,
* for example "0" for XGameUiTextEntryInputScope::Default.
*
* This hint will not affect a window that is already being
* shown to the user. It will only affect new input windows.
*
* This hint is available only if SDL_GDK_TEXTINPUT defined.
*/
#define SDL_HINT_GDK_TEXTINPUT_SCOPE "SDL_GDK_TEXTINPUT_SCOPE"
/**
* \brief Sets the maximum input length of the TextInput window on GDK platforms.
*
* On GDK, if SDL_GDK_TEXTINPUT is defined, you can use the
* standard SDL text input and virtual keyboard capabilities
* to get text from the user.
*
* This hint allows you to customize the virtual keyboard
* window that will be shown to the user.
*
* Set this hint to change the maximum allowed input
* length of the text box in the virtual keyboard window.
*
* The value must be a stringified integer,
* for example "10" to allow for up to 10 characters of text input.
*
* This hint will not affect a window that is already being
* shown to the user. It will only affect new input windows.
*
* This hint is available only if SDL_GDK_TEXTINPUT defined.
*/
#define SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH "SDL_GDK_TEXTINPUT_MAX_LENGTH"
/**
* \brief An enumeration of hint priorities
*/

View File

@@ -245,4 +245,7 @@
/* Enable filesystem support */
#define SDL_FILESYSTEM_WINDOWS 1
/* Use the (inferior) GDK text input method for GDK platforms */
/*#define SDL_GDK_TEXTINPUT 1*/
#endif /* SDL_build_config_wingdk_h_ */

View File

@@ -231,5 +231,7 @@
/* Disable IME as not supported yet (TODO: Xbox IME?) */
#define SDL_DISABLE_WINDOWS_IME 1
/* Use the (inferior) GDK text input method for GDK platforms */
#define SDL_GDK_TEXTINPUT 1
#endif /* SDL_build_config_wingdk_h_ */