There are different approaches for virtual (non physical) keyboards. Whether they work with Linux or not I could not verify yet.
Viki made by VKB
Keyboard Perception Chipset made by Canesta
SenseBoard
LightGlove
Scurry made by SAIT
Kitty