I recently stumbled over Dasher. It’s a text input method which can work without any keyboard. It can be controlled with mouse, touch pad or even an eye tracker.

It would be very interesting to try out the same approach for source code. Basically you could use source code - e.g. your current project - as the learning source. And then by having a more efficient input method than the current demo it might actually be an efficient way to re-use code.