A game controller includes a touchpad that a user, viewing a virtual keyboard on a screen, can soft-touch to move a cursor on the screen and then hard-touch to move the cursor and also send location data to a processor for inputting a letter from the virtual keyboard. Machine learning is used to predict a next letter or next word.