In the very early days, when I was using the on-screen keyboard, one of the problems I had was that a lot of valuable sceen space was used by the on-scree n keyboard itself and I was continously moving it around the screen as it was covering something important. After a long search on Internet, finally LUCY was found. The main problem was what to search for.....after trying various keywords, I found the right one. At first we were going to make something similar to LUCY but it was quite obvious that Light-Dependent Resistors (that we were going to use) was not the way to go (too many sensitivity problems). LUCY has no such problems and has worked faultlessly in any ambient light conditions.
It works by using a small laser mounted on a pair of glasses (without lenses or the user's sight glasses). LUCY itself is a box about 30cm X 25cm and 3cm thick and the front face is divided into a grid of 88 squares covered by a plastic overlay. When you shine the laser on one of the squares, the character on the overlay is sent to the computer just as if you pressed a key on the keyboard. Apart from generating any character of a keyboard it has also a large number of macros which means that by selecting a couple of keys a pre-programmed group of characters will be generated........very useful for often used phrases. Together with this macro feature there are also a host of other features fully described in the user's manual elsewhere on this site. There is also a video of LUCY.
Now I have been using LUCY since about 2004, mostly as a keyboard for my computer and even when the computer crashes, it keeps working just as a normal keyboard would allowing me to reboot using the alt-ctrl-del combination. As regards speed of use, I type about as fast as a person who has to look for each key on a normal keyboard.
Having said all this, LUCY can do another trick : using the (optional) voice module it can also talk. One writes a line of text on LUCY`s display and pressing "enter" will send the text to the voice module where it will be spoken. Thanks to some clever software in the module, the text is spoken. The criticism here is that the speed at which the text is spoken cannot be varied and very often it is a bit too fast and the volume can only be varied by a knob at the back of the unit (utterly useless for me).