IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
boolKeysDown[512];// Keyboard keys that are pressed (ideally left in the "native" order your engine has access to keyboard keys, so you can use your own defines/enums for keys).
ImWcharInputCharacters[16+1];// List of characters input (translated by user from keypress+keyboard state). Fill using AddInputCharacter() helper.
floatNavInputs[ImGuiNavInput_COUNT];// Gamepad inputs. Cleared back to zero by EndFrame(). Keyboard keys will be auto-mapped and be written here by NewFrame().
// Functions
IMGUI_APIvoidAddInputCharacter(ImWcharc);// Add new character into InputCharacters[]
IMGUI_APIvoidAddInputCharactersUTF8(constchar*utf8_chars);// Add new characters into InputCharacters[] from an UTF-8 string
inlinevoidClearInputCharacters(){InputCharacters[0]=0;}// Clear the text input buffer manually
IMGUI_APIvoidAddInputCharacter(ImWcharc);// Queue new character input
IMGUI_APIvoidAddInputCharactersUTF8(constchar*str);// Queue new characters input from an UTF-8 string
IMGUI_APIvoidClearInputCharacters();// Clear the text input buffer manually
IM_ASSERT(!((flags&ImGuiInputTextFlags_CallbackCompletion)&&(flags&ImGuiInputTextFlags_AllowTabInput)));// Can't use both together (they both use tab key)