Xruskb allows switching of two keyboard layouts on any particular key combination, e.g.
two shifts. It maintains a small window with current state indicator. It can also serve as autolock. This all is done via catching keyboard and mouse X events from (almost) all windows. Has Motif, Xaw and bare compilation modes, extensive tuning by X resources. State indicator can be placed in WindowMaker's appicon.