Skip to content

Allows to read inputs from a Nintendo Switch Pro controller connected using Bluetooth

License

Notifications You must be signed in to change notification settings

raspberrypi-go-drivers/switchprocontroller

Repository files navigation

Nintendo Switch Pro Controller

Go Reference golangci-lint Go Report Card License: MIT

This drivers allows to read inputs from a Nintendo Switch Pro Controller connected using Bluetooth

Requirements

  • a Nintendo Switch Pro Controller connected to a Raspberry Pi using Bluetooth

Documentation

For full documentation, please visit Go Reference

Quick start

import (
	"fmt"

	"github.com/raspberrypi-go-drivers/switchprocontroller"
)

func main() {
	controller := switchprocontroller.NewSwitchProController()
	controller.StartListener(0)
	for {
		select {
		case event := <-controller.Events:
			if event.Button != nil {
				fmt.Printf("%s:%d\n", event.Button.Name, event.Button.State)
			} else if event.Stick != nil {
				fmt.Printf("%s - Y:%f X:%f\n", event.Stick.Name, event.Stick.Y, event.Stick.X)
			}
		case <-time.After(60 * time.Second):
			fmt.Println("timeout")
			return
		}
	}
}

Raspberry Pi compatibility

This driver has has only been tested on an Raspberry Pi Zero WH using integrated bluetooth but may work well on other Raspberry Pi having integrated Bluetooth

License

MIT License

About

Allows to read inputs from a Nintendo Switch Pro controller connected using Bluetooth

Topics

Resources

License

Stars

Watchers

Forks

Languages