diff --git a/src/tabcontrollers/KeyboardInput.h b/src/tabcontrollers/KeyboardInput.h index 44b9c7f..cb1226a 100644 --- a/src/tabcontrollers/KeyboardInput.h +++ b/src/tabcontrollers/KeyboardInput.h @@ -17,6 +17,10 @@ public: virtual void sendKeyboardEnter() = 0; virtual void sendKeyboardBackspace( const int count ) = 0; virtual void sendKeyboardAltTab() = 0; + virtual void sendMediaNextSong() = 0; + virtual void sendMediaPreviousSong() = 0; + virtual void sendMediaPausePlay() = 0; + virtual void sendMediaStopSong() = 0; }; } // namespace advsettings diff --git a/src/tabcontrollers/keyboardinput/KeyboardInputDummy.cpp b/src/tabcontrollers/keyboardinput/KeyboardInputDummy.cpp index 7cd8f6d..f9b78c8 100644 --- a/src/tabcontrollers/keyboardinput/KeyboardInputDummy.cpp +++ b/src/tabcontrollers/keyboardinput/KeyboardInputDummy.cpp @@ -28,4 +28,24 @@ void KeyboardInputDummy::sendKeyboardAltTab() // noop } +void KeyboardInputDummy::sendMediaNextSong() +{ + // noop +} + +void KeyboardInputDummy::sendMediaPreviousSong() +{ + // noop +} + +void KeyboardInputDummy::sendMediaPausePlay() +{ + // noop +} + +void KeyboardInputDummy::sendMediaStopSong() +{ + // noop +} + } // namespace advsettings diff --git a/src/tabcontrollers/keyboardinput/KeyboardInputDummy.h b/src/tabcontrollers/keyboardinput/KeyboardInputDummy.h index fb9df57..cf63f1f 100644 --- a/src/tabcontrollers/keyboardinput/KeyboardInputDummy.h +++ b/src/tabcontrollers/keyboardinput/KeyboardInputDummy.h @@ -13,6 +13,10 @@ public: virtual void sendKeyboardEnter() override; virtual void sendKeyboardBackspace( const int count ) override; virtual void sendKeyboardAltTab() override; + virtual void sendMediaNextSong() override; + virtual void sendMediaPreviousSong() override; + virtual void sendMediaPausePlay() override; + virtual void sendMediaStopSong() override; }; } // namespace advsettings diff --git a/src/tabcontrollers/keyboardinput/KeyboardInputWindows.cpp b/src/tabcontrollers/keyboardinput/KeyboardInputWindows.cpp index b0e37a5..8e5a84a 100644 --- a/src/tabcontrollers/keyboardinput/KeyboardInputWindows.cpp +++ b/src/tabcontrollers/keyboardinput/KeyboardInputWindows.cpp @@ -248,4 +248,36 @@ void KeyboardInputWindows::sendKeyboardAltTab() sendKeyboardInputRaw( numberOfActions, actions ); } +/*! +Sends a media key Next Song button to Windows. +*/ +void KeyboardInputWindows::sendMediaNextSong() +{ + sendKeyPressAndRelease( VK_MEDIA_NEXT_TRACK ); +} + +/*! +Sends a media key Previous Song button to Windows. +*/ +void KeyboardInputWindows::sendMediaPreviousSong() +{ + sendKeyPressAndRelease( VK_MEDIA_PREV_TRACK ); +} + +/*! +Sends a media key Play/Pause button to Windows. +*/ +void KeyboardInputWindows::sendMediaPausePlay() +{ + sendKeyPressAndRelease( VK_MEDIA_PLAY_PAUSE ); +} + +/*! +Sends a media key Stop button to Windows. +*/ +void KeyboardInputWindows::sendMediaStopSong() +{ + sendKeyPressAndRelease( VK_MEDIA_STOP ); +} + } // namespace advsettings diff --git a/src/tabcontrollers/keyboardinput/KeyboardInputWindows.h b/src/tabcontrollers/keyboardinput/KeyboardInputWindows.h index 380309c..12ceb44 100644 --- a/src/tabcontrollers/keyboardinput/KeyboardInputWindows.h +++ b/src/tabcontrollers/keyboardinput/KeyboardInputWindows.h @@ -13,6 +13,10 @@ public: virtual void sendKeyboardEnter() override; virtual void sendKeyboardBackspace( const int count ) override; virtual void sendKeyboardAltTab() override; + virtual void sendMediaNextSong() override; + virtual void sendMediaPreviousSong() override; + virtual void sendMediaPausePlay() override; + virtual void sendMediaStopSong() override; }; } // namespace advsettings