private void Input_OnKeyPressed(object sender, KeyPressedEventArgs e) { e.DeviceId = DeviceMap[e.DeviceName].PersistantId; if (Keyboards.ContainsKey(e.DeviceId)) { var inputTuple = Keyboards[e.DeviceId]; if (!inputTuple.Natural) { inputTuple.PreKeyData = inputTuple.LastKeyData; inputTuple.LastKeyData = e; OnVirtualKeyboardAction(e); e.Handled = true; } } }