public void ReleaseActiveKeyboard(bool save = false)
{
lock (this)
{
if (ActiveKeyboard == null)
return;
// Store the old keyboard so it can be used in the event we're raising later
var oldKeyboard = ActiveKeyboard;
var releaseName = ActiveKeyboard.Name;
ActiveKeyboard.Disable();
ActiveKeyboard = null;
if (save)
{
_generalSettings.LastKeyboard = null;
_generalSettings.Save();
}
RaiseKeyboardChangedEvent(new KeyboardChangedEventArgs(oldKeyboard, null));
_logger.Debug("Released keyboard: {0}", releaseName);
}
}