When alternative text input comes up I always feel compelled to share Dasher[1]. Dasher is designed with accessible computing in mind, and can be driven using a wide variety of input method.
The project appears to be abandoned - so no leap support - though the leap would be an excellent fit for the interface, minus the gorilla arm problem.