private List <Keys> StringToKeys(string str, IntPtr layout) { var keys = new List <Keys>(str.Length + 1); for (var i = 0; i < str.Length; i++) { keys.Add(LowLevelAdapter.ToKey(str[i], layout)); } keys.Add(Keys.Space); return(keys); }
private void ConvertSelection() { ignoreKeyPress = true; LowLevelAdapter.BackupClipboard(); var fnKeys = LowLevelAdapter.ReleasePressedFnKeys(); LowLevelAdapter.SendCopy(); var selection = Clipboard.GetText(); LowLevelAdapter.RestoreClipboard(); if (String.IsNullOrEmpty(selection)) { LowLevelAdapter.PressPressedFnKeys(fnKeys); return; } var keys = new List <Keys>(selection.Length); for (var i = 0; i < selection.Length; i++) { keys.Add(LowLevelAdapter.ToKey(selection[i])); } LowLevelAdapter.SetNextKeyboardLayout(); ignoreKeyPress = true; foreach (var key in keys) { Debug.Write(key); if (key != Keys.None) { LowLevelAdapter.SendKeyPress(key, (key & Keys.Shift) != Keys.None); } } Debug.WriteLine(""); LowLevelAdapter.PressPressedFnKeys(fnKeys); ignoreKeyPress = false; }