a number of corrections and improvements related to software keyboard and tab completion

except build.gradle update—i've got no idea if i can remove it from this pull request