If you had to get non-Logitech gamepads that works out of the box with the RPi, what would you get?JDSunny46 wrote:I got as far as getting the controller to be recognized by the pi, I can run the joystick configs, but when I run configs in GUI mode or when I try to configure for emulation station, no key presses are identified by the software.
I'm trying to find a suitable driver. Otherwise, I return this controller and get a non Logitech.
I am failing to see your logic here. The drivers for the Xbox controllers on pi are a free download.milkmandan wrote:Still no solution for this? I don't have xbox controllers, so I can't install xboxdrivers
This sounds promising...For the non linux-guru (me), could you put a step-by-step tutorial on how to accomplish this?AlexWKUF wrote:I've gotten it working - and it plays awesome.I'll do a full write up in a little bit, I just need to clean up my setup.
In short you, you are all correct. You need to have the latest version of xboxdrv (not the version available through apt-get; you will need to build from the latest source), a powered USB hub, and have the switch set the "X" mode.
If you want to use it with dgens, you either need to wait for version 1.33, or apply each of the patches (in order) on this page: https://sourceforge.net/p/dgen/bugs/18/
Code: Select all
sudo apt-get install libboost-all-dev scons libusb-1.0.0-dev libx11-dev libudev-dev x11proto-core-dev libdbus-glib-1-devCode: Select all
wget http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv-linux-0.8.5.tar.bz2Code: Select all
tar xjvf xboxdrv-linux-0.8.5.tar.bz2
cd xboxdrv-linux-0.8.5.tar.bz2
scons
Code: Select all
sudo make install
Code: Select all
sudo nano /etc/modulesCode: Select all
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
snd-bcm2835
uinput
Code: Select all
sudo nano /etc/rc.localCode: Select all
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/usr/local/bin/xboxdrv --id 0 --deadzone 4000 --silent &
sleep 1
/usr/local/bin/xboxdrv --id 1 --deadzone 4000 --silent &
sleep 1
/usr/local/bin/xboxdrv --id 2 --deadzone 4000 --silent &
sleep 1
/usr/local/bin/xboxdrv --id 3 --deadzone 4000 --silent &
sleep 1
exit 0
Code: Select all
sudo BRANCH=next rpi-update