private async void OnKeyboardButtonClick()

in EyeGazeUserControls/GazeKeyboard.xaml.cs [291:333]


        private async void OnKeyboardButtonClick(object sender, RoutedEventArgs e)
        {
            var button = sender as ButtonBase;
            Target.Focus(FocusState.Programmatic);
            await Task.Delay(1);

            string unicode;
            string container;
            int vk;
            List<int> vkList;
            bool injected = false;

            if ((container = Keyboard.GetPageContainer(button)) != null)
            {
                HandlePageChange(container, button);
            }
            else if ((vk = Keyboard.GetVK(button)) != 0)
            {
                injected = HandleVirtualKey(vk);
            }
            else if (((vkList = Keyboard.GetVKList(button)) != null) && (vkList.Count > 0))
            {
                injected = HandleVirtualKeyList(vkList);
            }
            else if ((unicode = Keyboard.GetUnicode(button)) != null)
            {
                injected = HandleUnicodeChar(unicode);
            }
            else
            {
                var key = new InjectedInputKeyboardInfo();
                key.ScanCode = button.Content.ToString()[0];
                key.KeyOptions = InjectedInputKeyOptions.Unicode;
                _injector.InjectKeyboardInput(new[] { key });
                UpdatePredictions();
                injected = true;
            }

            if (injected)
            {
                RevertTempPage(button);
            }
        }