Exemplo n.º 1
0
        private void OnExecuteVirtualKeyStroke(string partName, KeyStats keyStats)
        {
            if (!OnCanExecuteStringStroke(keyStats.Name))
            {
                return;
            }
            switch (keyStats.KeyCode)
            {
            case KeysEx.VK_NUMLOCK:
                KeyboardLayout = (KeyboardLayout == KeyboardLayout.QuertyState ? KeyboardLayout.NumericState : KeyboardLayout.QuertyState);
                break;

            case KeysEx.VK_SHIFT:
                IsShiftPressed = !IsShiftPressed;
                break;

            case KeysEx.None:
                OnExecuteCustomKeyStroke(partName, keyStats);
                break;

            default:
                if (!keyStats.UseShift && !shiftEnabledPartNames.Contains(partName))
                {
                    VirtualKeyboardService.Instance.ReleaseStickyKeys();
                }
                if (keyStats.UseShift)
                {
                    VirtualKeyboardService.Instance.PressAndHold(KeysEx.VK_LSHIFT);
                }
                VirtualKeyboardService.Instance.PressAndRelease(keyStats.KeyCode);
                IsShiftPressed = false;
                break;
            }
        }
Exemplo n.º 2
0
        private void SendKeyStroke(string keyName, KeyStats keyStroke)
        {
            switch (KeyStrokeHandler)
            {
            case KeyboardKeyStrokeHandler.VirtualKeyboardBased:
                OnExecuteVirtualKeyStroke(keyName, keyStroke);
                break;

            case KeyboardKeyStrokeHandler.StringBased:
                OnExecuteStringStroke(keyName, keyStroke);
                break;
            }
        }
Exemplo n.º 3
0
        private void OnExecuteCustomKeyStroke(string partName, KeyStats keyStats)
        {
            switch (keyStats.Name)
            {
            case ".COM":
                VirtualKeyboardService.Instance.PressKey(KeysEx.VK_DECIMAL);
                VirtualKeyboardService.Instance.PressKey(KeysEx.VK_C);
                VirtualKeyboardService.Instance.PressKey(KeysEx.VK_O);
                VirtualKeyboardService.Instance.PressKey(KeysEx.VK_M);
                IsShiftPressed = false;
                VirtualKeyboardService.Instance.ReleaseStickyKeys();
                break;

            default:
                break;
            }
        }
Exemplo n.º 4
0
        private void OnExecuteStringStroke(String partName, KeyStats keyStats)
        {
            var key = keyStats.Name;

            if (!OnCanExecuteStringStroke(key))
            {
                return;
            }
            switch (key)
            {
            case "NumLock":
                KeyboardLayout = (KeyboardLayout == KeyboardLayout.QuertyState ? KeyboardLayout.NumericState : KeyboardLayout.QuertyState);
                break;

            case "Backspace":
                if (!String.IsNullOrEmpty(Text))
                {
                    // a quick hack to remove both \r AND \n
                    Text =
                        Text.EndsWith("\r\n")
                                                                ? Text.Remove(Text.Length - 2)
                                                                : Text.Remove(Text.Length - 1);
                }
                break;

            case "Shift":
                IsShiftPressed = !IsShiftPressed;
                break;

            case "Up":
            case "Left":
            case "Right":
            case "Down":
                break;

            default:
                if (Text != null && Text.Length >= MaxLength)
                {
                    return;
                }
                Text          += IsShiftPressed ? keyStats.Name : keyStats.ShiftName;
                IsShiftPressed = false;
                break;
            }
        }
Exemplo n.º 5
0
 private void SendKeyStroke(string keyName, KeyStats keyStroke)
 {
     switch (KeyStrokeHandler)
     {
         case KeyboardKeyStrokeHandler.VirtualKeyboardBased:
             OnExecuteVirtualKeyStroke(keyName, keyStroke);
             break;
         case KeyboardKeyStrokeHandler.StringBased:
             OnExecuteStringStroke(keyName, keyStroke);
             break;
     }
 }
Exemplo n.º 6
0
		private void OnExecuteCustomKeyStroke(string partName, KeyStats keyStats)
		{
			switch (keyStats.Name)
			{
				case ".COM":
					VirtualKeyboardService.Instance.PressKey(KeysEx.VK_DECIMAL);
					VirtualKeyboardService.Instance.PressKey(KeysEx.VK_C);
					VirtualKeyboardService.Instance.PressKey(KeysEx.VK_O);
					VirtualKeyboardService.Instance.PressKey(KeysEx.VK_M);
					IsShiftPressed = false;
					VirtualKeyboardService.Instance.ReleaseStickyKeys();
					break;
				default:
					break;
			}
		}
Exemplo n.º 7
0
		private void OnExecuteVirtualKeyStroke(string partName, KeyStats keyStats)
		{
			if (!OnCanExecuteStringStroke(keyStats.Name)) { return; }
			switch (keyStats.KeyCode)
			{
				case KeysEx.VK_NUMLOCK:
					KeyboardLayout = (KeyboardLayout == KeyboardLayout.QuertyState ? KeyboardLayout.NumericState : KeyboardLayout.QuertyState);
					break;
				case KeysEx.VK_SHIFT:
					IsShiftPressed = !IsShiftPressed;
					break;
				case KeysEx.None:
					OnExecuteCustomKeyStroke(partName, keyStats);
					break;
				default:
					if (!keyStats.UseShift && !shiftEnabledPartNames.Contains(partName))
					{
						VirtualKeyboardService.Instance.ReleaseStickyKeys();
					}
					if (keyStats.UseShift)
					{
						VirtualKeyboardService.Instance.PressAndHold(KeysEx.VK_LSHIFT);
					}
					VirtualKeyboardService.Instance.PressAndRelease(keyStats.KeyCode);
					IsShiftPressed = false;
					break;
			}
		}
Exemplo n.º 8
0
		private void OnExecuteStringStroke(String partName, KeyStats keyStats)
		{
			var key = keyStats.Name;
			if (!OnCanExecuteStringStroke(key)) { return; }
			switch (key)
			{
				case "NumLock":
					KeyboardLayout = (KeyboardLayout == KeyboardLayout.QuertyState ? KeyboardLayout.NumericState : KeyboardLayout.QuertyState);
					break;
				case "Backspace":
					if (!String.IsNullOrEmpty(Text))
					{
						// a quick hack to remove both \r AND \n
						Text =
							Text.EndsWith("\r\n")
								? Text.Remove(Text.Length - 2)
								: Text.Remove(Text.Length - 1);
					}
					break;
				case "Shift":
					IsShiftPressed = !IsShiftPressed;
					break;
				case "Up":
				case "Left":
				case "Right":
				case "Down":
					break;
				default:
					if (Text != null && Text.Length >= MaxLength)
					{
						return;
					}
					Text += IsShiftPressed ? keyStats.Name : keyStats.ShiftName;
					IsShiftPressed = false;
					break;
			}
		}