feat(GamePad): Implemented mappings

This commit is contained in:
2025-08-04 14:36:35 +02:00
parent 3942b6d8b2
commit 945a78c463
5 changed files with 87 additions and 13 deletions

12
main.go
View File

@@ -5,6 +5,7 @@ import (
"time"
"gitlab.com/gomidi/midi/v2"
"github.com/bendahl/uinput"
)
func must[T any](obj T, err error) T {
@@ -19,12 +20,11 @@ func main() {
defer midi.CloseDriver()
log.Println("Starting...")
controller := must(NewController("DJControl Inpulse 500 MIDI 1"))
controller.AddMapping(ButtonMapping{1, 7}) // play left
controller.AddMapping(ControlMapping{1, 0}) // volume left
controller := must(NewController("DJControl Inpulse 500 MIDI 1", 0x45e, 0x285)) // mimics xbox 360 controller
defer controller.Stop()
controller.AddMapping(ButtonMapping{"Play left", 1, 7, uinput.ButtonSouth})
controller.AddMapping(ControlMapping{"Volume left", 1, 0, LeftY, false})
time.Sleep(time.Second * 20)
log.Println("Stopping...")
controller.Stop()
log.Println("Stopped.")
}