/// <summary> /// Handles accelerator input. /// </summary> /// <param name="canvas">Canvas.</param> /// <param name="chr">Input character.</param> /// <returns>True if the key was handled.</returns> public bool HandleAccelerator(Base canvas, char chr) { //Build the accelerator search string StringBuilder accelString = new StringBuilder(); if (IsControlDown) accelString.Append("CTRL+"); if (IsShiftDown) accelString.Append("SHIFT+"); // [omeg] todo: alt? accelString.Append(chr); String acc = accelString.ToString(); //Debug::Msg("Accelerator string :%S\n", accelString.c_str());) if (KeyboardFocus != null && KeyboardFocus.HandleAccelerator(acc)) return true; if (MouseFocus != null && MouseFocus.HandleAccelerator(acc)) return true; if (canvas.HandleAccelerator(acc)) return true; return false; }