Here is a Bluetooth controller that works with a wide variety of platforms, including Android, macOS, and Raspberry Pi. The 8Bitdo Pro 2 Black Edition Controller has a custom profile switch button and can handle 3 profiles. It also has a 6-axis motion sensor, adjustable hair triggers, customizable turbo function & vibration.
The 8Bitdo Pro 2 comes with an easy to use software for mobile devices and PCs. It has a 4-way mode switch button (Switch, macOS, D-Input, X-input). The companion software lets you easily adjust stick and trigger sensitivity and change button mapping.