When typing, it swaps the selected character, or inserts the character at the cursor if no character is selected.
When calling this method from another control such as a button, if the focus is lost, input will no longer be in progress and this method will no longer be able to be executed. In such a case, set the Focusable property of the other control to FALSE.