public SendKeyEventArgs(IKeyboardHost target, bool sendDown, bool sendUp, KeyName keyName) : base(target) { SendDown = sendDown; SendUp = sendUp; KeyName = keyName; }
internal override void AssertValid(IKeyboardHost host) { base.AssertValid(host); KeyboardValidationException.Assert(Action != null, "Action must be specified"); KeyboardValidationException.Assert(host.GetAction(Action) != null, "Action must be a valid action name: {0}", Action); }
internal CanvasLayoutContext(IKeyboardHost host, Canvas canvas, KeyboardLayout layout, double totalWidth, double totalHeight, double keySize, double fontSizeMultiplier) : base(layout, totalWidth, totalHeight, keySize) { _host = host; _canvas = canvas; _fontSizeMultiplier = fontSizeMultiplier; }
/// <summary> /// Load new layout. /// </summary> /// <param name="layout"></param> /// <param name="host"></param> public void LoadLayout(KeyboardLayout layout, IKeyboardHost host) { this.layout = layout; this.host = host; RenderedKeyboard_SizeChanged(this, null); }
public SendTextEventArgs(IKeyboardHost target, bool isShift, bool isCtrl, bool isAlt, bool isWindows, string text) : base(target) { IsShift = isShift; IsCtrl = isAlt; IsAlt = isAlt; IsWindows = isWindows; Text = text; }
internal void AssertValid(IKeyboardHost host) { KeyboardValidationException.Assert(Keys != null, "Keys must be specified"); KeyboardValidationException.Assert(Keys.Length != 0, "Keys must not be empty"); foreach (var key in Keys) { key.AssertValid(host); } }
static void AssertAllKeyboardsValid(IKeyboardHost host, params string[] layoutXmls) { try { foreach (var layoutXml in layoutXmls) { var layout = KeyboardLayout.Load(layoutXml); layout.AssertValid(host); } } catch (Exception ex) { Debug.Fail(ex.Message); } }
/// <summary> /// Validate the layout. /// </summary> public void AssertValid(IKeyboardHost host) { KeyboardValidationException.Assert(Rows != null, "Rows must be specified"); KeyboardValidationException.Assert(Rows.Length != 0, "One or more rows"); Rows[0].AssertValid(host); var row0Width = Rows[0].CalculateWidth(); for (var rowIndex = 1; rowIndex < Rows.Length; rowIndex++) { var row = Rows[rowIndex]; row.AssertValid(host); var rowWidth = row.CalculateWidth(); KeyboardValidationException.Assert(row0Width == rowWidth, "All rows must be same length"); } }
internal override void AssertValid(IKeyboardHost host) { base.AssertValid(host); KeyboardValidationException.Assert(Conditionals != null, "Conditionals must be specified"); KeyboardValidationException.Assert(Conditionals.Length != 0, "Conditionals cannot be empty"); var isFirst = true; var hasDefault = false; var width = Conditionals[0].CalculateWidth(); var names = new HashSet <string>(); foreach (var conditional in Conditionals) { conditional.AssertValid(host); if (isFirst) { isFirst = false; } else { var otherWidth = conditional.CalculateWidth(); KeyboardValidationException.Assert(width == otherWidth, "All Conditionals must have same width"); } if (conditional.Name == null) { KeyboardValidationException.Assert(!hasDefault, "Can only have one default conditional"); hasDefault = true; } else { KeyboardValidationException.Assert(!names.Contains(conditional.Name), "Names must be unique"); names.Add(conditional.Name); } } KeyboardValidationException.Assert(hasDefault, "Must have an unnamed default conditional"); }
static KeyboardLayout GetKeyboardLayout(IKeyboardHost host, KeyboardLayoutName name) { var layoutXml = GetKeyboardLayoutXml(name); if (layoutXml == null) { try { var myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var fileName = "KeyboardLayout.xml"; var path = Path.Combine(myDocuments, fileName); layoutXml = File.ReadAllText(path); } catch (Exception ex) { host.ShowException("Error loading custom keyboard", ex); layoutXml = GetKeyboardLayoutXml(KeyboardLayoutName.Default); } } KeyboardLayout layout; try { layout = KeyboardLayout.Load(layoutXml); } catch (Exception ex) { host.ShowException("Error parsing custom keyboard", ex); layoutXml = GetKeyboardLayoutXml(KeyboardLayoutName.Default); layout = KeyboardLayout.Load(layoutXml); } return(layout); }
internal override void AssertValid(IKeyboardHost host) { base.AssertValid(host); KeyboardValidationException.Assert(StateName != null, "StateName must be specified"); }
public SendEventArgs(IKeyboardHost target) { _target = target; }
internal virtual void AssertValid(IKeyboardHost host) { }