char input to text field, and cursor rendering