示例#1
0
        //Send the clicked button
        async Task KeyButtonClick(object sender)
        {
            try
            {
                PlayInterfaceSound(vConfigurationCtrlUI, "Click", false, false);

                Button sendButton  = sender as Button;
                Type   sendKeyType = sendButton.Tag.GetType();
                string sendKeyName = sendButton.Tag.ToString();
                if (sendKeyType == typeof(string))
                {
                    if (sendKeyName == "EmojiPopup")
                    {
                        await ShowHideEmojiListPopup();
                    }
                    else if (sendKeyName == "TextListPopup")
                    {
                        await ShowHideTextListPopup();
                    }
                }
                else
                {
                    if (sendKeyType == typeof(KeyboardKeys))
                    {
                        KeyboardKeys sendKey = (KeyboardKeys)sendButton.Tag;
                        Debug.WriteLine("Sending Keyboard key: " + sendKey);
                        SendKeyKeyboard(sendKey);
                    }
                    else if (sendKeyType == typeof(KeyboardModifiers))
                    {
                        KeyboardModifiers sendKey = (KeyboardModifiers)sendButton.Tag;
                        Debug.WriteLine("Sending Modifier key: " + sendKey);
                        SendKeyModifier(sendKey);
                    }
                    else if (sendKeyType == typeof(KeyboardMultimedia))
                    {
                        KeyboardMultimedia sendKey = (KeyboardMultimedia)sendButton.Tag;
                        Debug.WriteLine("Sending Multimedia key: " + sendKey);
                        if (sendKey == KeyboardMultimedia.VolumeMute)
                        {
                            await VolumeOutputMute();
                        }
                        else if (sendKey == KeyboardMultimedia.VolumeUp)
                        {
                            await VolumeUp();
                        }
                        else if (sendKey == KeyboardMultimedia.VolumeDown)
                        {
                            await VolumeDown();
                        }
                        else
                        {
                            SendKeyMultimedia(sendKey);
                        }
                    }
                }
            }
            catch { }
        }
示例#2
0
 void SendKeyMultimedia(KeyboardMultimedia sendKey)
 {
     try
     {
         vFakerInputDevice.MultimediaPressRelease(sendKey);
     }
     catch { }
 }
 public bool MultimediaPressRelease(KeyboardMultimedia keyMultimedia)
 {
     try
     {
         MultimediaPress(keyMultimedia);
         AVActions.TaskDelayMs(50);
         MultimediaReset();
         return(true);
     }
     catch
     {
         Debug.WriteLine("Failed to press and release multimedia key.");
         return(false);
     }
 }
        private bool MultimediaPress(KeyboardMultimedia keyMultimedia)
        {
            try
            {
                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_MULTIMEDIA_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_MULTIMEDIA_REPORT structInput = new FAKERINPUT_MULTIMEDIA_REPORT();
                structInput.ReportID       = (byte)FAKERINPUT_REPORT_ID.REPORTID_MULTIMEDIA;
                structInput.MultimediaKey0 = (byte)keyMultimedia;
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to press multimedia key.");
                return(false);
            }
        }
示例#5
0
        public string GetKeyboardMultimediaName(KeyboardMultimedia multimediaKey, bool shortName)
        {
            try
            {
                switch (multimediaKey)
                {
                case KeyboardMultimedia.Next:
                    if (shortName)
                    {
                        return("Next");
                    }
                    else
                    {
                        return("Media Next");
                    }

                case KeyboardMultimedia.Previous:
                    if (shortName)
                    {
                        return("Prev");
                    }
                    else
                    {
                        return("Media Previous");
                    }

                case KeyboardMultimedia.Stop:
                    if (shortName)
                    {
                        return("Stop");
                    }
                    else
                    {
                        return("Media Stop");
                    }

                case KeyboardMultimedia.PlayPause:
                    if (shortName)
                    {
                        return("Play");
                    }
                    else
                    {
                        return("Media Play/Pause");
                    }

                case KeyboardMultimedia.VolumeMute:
                    if (shortName)
                    {
                        return("Mute");
                    }
                    else
                    {
                        return("Volume Mute");
                    }

                case KeyboardMultimedia.VolumeDown:
                    if (shortName)
                    {
                        return("VolDn");
                    }
                    else
                    {
                        return("Volume Down");
                    }

                case KeyboardMultimedia.VolumeUp:
                    if (shortName)
                    {
                        return("VolUp");
                    }
                    else
                    {
                        return("Volume Up");
                    }
                }
            }
            catch { }
            return(Enum.GetName(typeof(KeyboardMultimedia), multimediaKey));
        }