feat: switching slides

This commit is contained in:
Gerard Gascón 2024-06-07 00:08:43 +02:00
parent 0ebb7f6459
commit 5f7bb79e56
4 changed files with 45 additions and 2 deletions

26
SlideSwitcher.cs Normal file
View file

@ -0,0 +1,26 @@
namespace SwitchSlidePresenter;
public class SlideSwitcher : IDisposable {
private readonly GamepadReader _reader;
public SlideSwitcher(GamepadReader reader) {
_reader = reader;
_reader.NextSlide += NextSlide;
_reader.PrevSlide += PreviousSlide;
}
public void Dispose() {
_reader.NextSlide -= NextSlide;
_reader.PrevSlide -= PreviousSlide;
}
private void NextSlide() {
IntPtr handle = Win32Api.GetForegroundWindow();
Win32Api.PostMessage(handle, Win32Api.WM_KEYDOWN, Win32Api.VK_NEXT, 0);
}
private void PreviousSlide() {
IntPtr handle = Win32Api.GetForegroundWindow();
Win32Api.PostMessage(handle, Win32Api.WM_KEYDOWN, Win32Api.VK_PRIOR, 0);
}
}