private void OnExecuteVirtualKeyStroke(string partName, VirtualKeyboardButton key)
        {
            if (!OnCanExecuteStringStroke(partName))
            {
                return;
            }

            VirtualKeyboardButton.KeyType type = key.GetKeyType();
            switch (type)
            {
            case VirtualKeyboardButton.KeyType.Input:
                VirtualKeyboardInputButton inputButton = (VirtualKeyboardInputButton)key;
                string keyInput      = inputButton.GetKeyInputValue();
                string keyShiftInput = inputButton.GetKeyShiftInputValue();
                VirtualKeyboardService.Instance.SendKey(IsShiftPressed && !String.IsNullOrEmpty(keyShiftInput)
                        ? keyShiftInput[0]
                        : keyInput[0]);
                UpdateKeyboardShift(ShiftState.ShiftUp);
                break;

            case VirtualKeyboardButton.KeyType.Control:
                VirtualKeyboardControlButton controlButton = (VirtualKeyboardControlButton)key;
                VirtualKeyboardService.Instance.SendKey((KeysEx)controlButton.GetKeyControlInputValue());
                OnControlKeyEvent((KeysEx)controlButton.GetKeyControlInputValue());
                break;

            case VirtualKeyboardButton.KeyType.Special:
                VirtualKeyboardSpecialButton specialButton = (VirtualKeyboardSpecialButton)key;
                OnCustomKeyEvent(specialButton.GetKeySpecialInputValue());
                break;

            default:
                break;
            }
        }
Example #2
0
 private void UpdateButtonLabels()
 {
     foreach (var key in KeyboardButtons)
     {
         if (key.GetKeyType() == VirtualKeyboardButton.KeyType.Input)
         {
             VirtualKeyboardInputButton inputButton = (VirtualKeyboardInputButton)key;
             if (inputButton.GetAutoLabel())
             {
                 string shiftInputValue = inputButton.GetKeyShiftInputValue();
                 inputButton.Content = IsShiftPressed && !String.IsNullOrEmpty(shiftInputValue)
                     ? shiftInputValue
                     : inputButton.GetKeyInputValue();
             }
         }
     }
 }