Is it possible to make a custom keyboard

I’m making a spelling app and it looks like ill need to make a custom keyboard since the androids keyboard prediction thing will let users cheat. can someone explain how it’s done if it’s possible?
Or is there a way to disable it?

I figured out some of my problems I figured out how to bind letters to buttons and delete characters too. But is there a way to make left arrow and right arrow keys that would move the cursor?