The ordinary functioning of a keyboard switcher is very simple. A person walks over to the keyboard, starts typing, notices it's coming out all garbled, hits the keyboard switcher, and then forgets about it. I've long had a seething hatred of some anonymous moron at microsoft, who made their keyboard switcher only switch each application individually, so the process involves sitting down, starting to type, noticing something is switched, hitting the switcher, then repeating for every single process you switch to. The ridiculous process is repeated when I take my computer back again, sometimes with switches happening days later if I don't touch something for a while.
At some point in the recent past Ubuntu changed their keyboard switching behavior to the moronic microsoft approach. Geeze guys, I know you want to make things look and feel microsofty to be acceptable to the masses, but could you please not copy features which make users routinely fantasize about showing up at microsoft headquarters with a hatchet?
Update: It turns out that this is configurable at least. Right click on the keyboard switcher, Open Keyboard Preferences, Layouts tab, turn off the Separate group for each window checkbox. This puts it ahead of the windows keyboard switcher, which has no 'don't be moronic' checkbox, but the default is still wrong.