It is quite possible to avoid global variables if you register your observer inside a closure:
(function() {
var controlFlag;
Event.observe(...controlFlag...);
})();
event.ctrlKey (true: control key pressed)
]]>check out the demo -> http://www.resonantresident.com/shift-click/
]]>