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);
}
}