pib/gkos - GitHub
The basic idea of GKOS is that you've got six buttons on the back of a device (either a dedicated input device, or on the back of a handheld computing device, phone, etc), one for the index through ring fingers of each hand (or two for each finger if you have a device made for one-handed use). You press the keys in various chords to type, switch between modes, and operate a pointer (when in pointer mode).