Scummvm controller help
-
I did find out that the xboxdrv was not installed. The original directions I found were old and the menus had changed. I figured out the location and installed it but still no controller response.
-
when you are running the game you can put this on the command line.
then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \ --evdev /dev/input/event0 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --evdev-keymap KEY_#44=a,KEY_#45=b,KEY_#31=x,KEY_#30=y,KEY_#16=lb,KEY_#17=rb,KEY_#1=back,KEY_#28=start,KEY_#108=du,KEY_#106=dr,KEY_#103=dd,KEY_#105=dl \ --ui-buttonmap b=BTN_LEFT,a=BTN_RIGHT,start=KEY_F5,dr=REL_X:25,dl=REL_X:-25,dd=REL_Y:25,du=REL_Y:-25 \ --ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \ &
this will force it to start and if there is any errors it will come up.
if it is working it will pop up something like this
xboxdrv 0.8.8 - http://pingus.seul.org/~grumbel/xboxdrv/ Copyright © 2008-2011 Ingo Ruhnke <grumbel@gmail.com> Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details. Your Xbox/Xbox360 controller should now be available as: /dev/input/js2 /dev/input/event4 Press Ctrl-C to quit
if nothing comes up then there is something else not working. i did try the mapping i gave you so i know there are no errors on it for my system at least
-
Please excuse my ignorance. I'm not sure how to get a command line after I select scummvm from the retropie menu. Do I start scummvm on the retropie menu then ssh into the unit and run the command?
-
-
Sorry about that. Will this still work at the opening scummvm screen? That's as far as I can get. I don't have any games loaded because I can't move the cursor to load them. This is all I get.
-
yes if you put this in the ssh it will come up with something
then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \ --evdev /dev/input/event0 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --evdev-keymap KEY_#44=a,KEY_#45=b,KEY_#31=x,KEY_#30=y,KEY_#16=lb,KEY_#17=rb,KEY_#1=back,KEY_#28=start,KEY_#108=du,KEY_#106=dr,KEY_#103=dd,KEY_#105=dl \ --ui-buttonmap b=BTN_LEFT,a=BTN_RIGHT,start=KEY_F5,dr=REL_X:25,dl=REL_X:-25,dd=REL_Y:25,du=REL_Y:-25 \ --ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \ &
if all works then this will come up as soon as you hit enter
xboxdrv 0.8.8 - http://pingus.seul.org/~grumbel/xboxdrv/ Copyright © 2008-2011 Ingo Ruhnke <grumbel@gmail.com> Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details. Your Xbox/Xbox360 controller should now be available as: /dev/input/js1 /dev/input/event2 Press Ctrl-C to quit
-
Here are the results.
Copyright © 2008-2011 Ingo Ruhnke <grumbel@gmail.com> Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details. Your Xbox/Xbox360 controller should now be available as: /dev/input/js0 /dev/input/event1 Press Ctrl-C to quit After that I was able to get the directional stick to work and the buttons. Once I restarted the unit it stopped working again. I'm guessing something from the code needs to be added or changed. Thanks for taking the time to help. Looks like we or more you might be close to fixing the issue.
-
that is great, so the hard part is done and over with. now we just need to get it to start when you start scummvm
so now you need to have it look like this in your runcommand-onstart.sh
#!/bin/sh if [ "$1" = "scummvm" ] then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/event2 \ --silent \ --detach-kernel-driver \ --force-feedback \ --mimic-xpad \ --dpad-as-button \ --deadzone 15% \ --trigger-as-button \
of course change what needs to be changed, but the top few lines are needed to have the mapping auto start.
post what you have in your runcommand-onstart.sh and i will take a look if it still not starting
-
Still no luck. Here is what I have.
if [ "$1" = "scummvm" ] then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/event2 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --evdev-keymap KEY_#44=a,KEY_#45=b,KEY_#31=x,KEY_#30=y,KEY_#16=lb,KEY_#17=rb,KEY_#1=back,KEY_#28=start,KEY_#108=du,KEY_#106=dr,KEY_#103=dd,KEY_#105=dl \ --ui-buttonmap b=BTN_LEFT,a=BTN_RIGHT,start=KEY_F5,dr=REL_X:25,dl=REL_X:-25,dd=REL_Y:25,du=REL_Y:-25 \ --ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \ & fi
-
is that all that you have in the run command? if you are missing a few things
-
Yes. I just copied from guide and changed the button numbers.
-
@bassman6805
ok that is why it is not working. there are commands that are needed before the keymappinghere is the complete runcommand-onstart.sh ( of course you just replace the mapping here with the one that we got working for you)
#!/bin/sh ## Name of the emulator echo $1 >> /dev/shm/runcommand.log ## Name of the software used for running the emulation echo $2 >> /dev/shm/runcommand.log ## Name of the rom echo $3 >> /dev/shm/runcommand.log ##Executed command line echo $4 >> /dev/shm/runcommand.log if [ "$1" = "videopac" ] then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/event3 \ --silent \ --detach-kernel-driver \ --force-feedback \ --mimic-xpad \ --deadzone 15% \ --evdev-no-grab \ --dpad-as-button \ --trigger-as-button \ --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \ --evdev-keymap KEY_#304=a,KEY_#305=b,KEY_#307=x,KEY_#308=y,KEY_#312=lt,KEY_#313=rt,KEY_#310=lb,KEY_#311=rb,KEY_#317=tl,KEY_#318=tr,KEY_#314=back,KEY_#315=start \ --axismap -Y1=Y1,-Y2=Y2 \ --ui-buttonmap a=KEY_UNKNOWN,b=KEY_UNKNOWN,start=KEY_UNKNOWN,back=KEY_UNKNOWN,x=KEY_UNKNOWN,y=KEY_UNKNOWN,lt=KEY_UNKNOWN,rt=KEY_UNKNOWN,lb=KEY_UNKNOWN,rb=KEY_UNKNOWN,tl=KEY_UNKNOWN,tr=KEY_UNKNOWN \ --ui-axismap x2=KEY_#2:KEY_2,Y2=KEY_3:KEY_4 \ & fi
and the runcommand-onend.sh
#!/bin/sh sudo killall >/dev/null xboxdrv sudo pkill -CONT python
-
I'm really confused now with the runcommand-onend.sh. Here is what I have for the onstart.
## Name of the emulator echo $1 >> /dev/shm/runcommand.log ## Name of the software used for running the emulation echo $2 >> /dev/shm/runcommand.log ## Name of the rom echo $3 >> /dev/shm/runcommand.log ##Executed command line echo $4 >> /dev/shm/runcommand.log if [ "$1" = "scummvm" ] then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/event2 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --evdev-keymap KEY_#44=a,KEY_#45=b,KEY_#31=x,KEY_#30=y,KEY_#16=lb,KEY_#17=rb,KEY_#1=back,KEY_#28=start,KEY_#108=du,KEY_#106=dr,KEY_#103=dd,KEY_#105=dl \ --ui-buttonmap b=BTN_LEFT,a=BTN_RIGHT,start=KEY_F5,dr=REL_X:25,dl=REL_X:-25,dd=REL_Y:25,du=REL_Y:-25 \ --ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \ & fi
-
Here is the onend.sh
sudo killall >/dev/null xboxdrv sudo pkill -CONT python sudo killall > /dev/null 2>&1 xboxdrv /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/by-id/event2 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --evdev-absmap ABS_[•]=x1,ABS_[•]=y1,ABS_[•]=x2,ABS_[•]=y2,ABS_[•]=lt,ABS_[•]=rt,ABS_[•]=dpad_x,ABS_[•]=dpad_y \ --evdev-keymap KEY_#44=a,KEY_#45=b,KEY_#31=x,KEY_#30=y,KEY_#16=lb,KEY_#17=rb,KEY_#1=back,KEY_#28=start,KEY_#108=du,KEY_#106=dr,KEY_#103=dd,KEY_#105=dl \ &
-
Yoy just need the first two lines for the on end
Just copy what I posted on my last post. That is all you need
-
Still no luck. Here is my onstart setup.
##!/bin/sh ## Name of the emulator echo $1 >> /dev/shm/runcommand.log ## Name of the software used for running the emulation echo $2 >> /dev/shm/runcommand.log ## Name of the rom echo $3 >> /dev/shm/runcommand.log ##Executed command line echo $4 >> /dev/shm/runcommand.log if [ "$1" = "scummvm" ] then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/event2 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --mimic-xpad \ --evdev-keymap KEY_#44=a,KEY_#45=b,KEY_#31=x,KEY_#30=y,KEY_#16=lb,KEY_#17=rb,KEY_#1=back,KEY_#28=start,KEY_#108=du,KEY_#106=dr,KEY_#103=dd,KEY_#105=dl \ --ui-buttonmap b=BTN_LEFT,a=BTN_RIGHT,start=KEY_F5,dr=REL_X:25,dl=REL_X:-25,dd=REL_Y:25,du=REL_Y:-25 \ --ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \ & fi
Here are my onend settings.
#!/bin/sh sudo killall >/dev/null xboxdrv sudo pkill -CONT python
I'm not sure why it's not working now.
-
is your controller event 2 or 0 ?
your earier post when you ran
cat /proc/bus/input/devices
it came up with event 0 -
It's probably event 0. I think I copied the text from one of the reply's and didn't change it. I thought it was supposed to be event 2. I will try it when I get home.
-
I changed it back to event0 but still not working. I have tried event0, event1, and event2. I'm so confused.
-
@bassman6805
that makes two of us.just one quick question where do you have the runcommand files placed in your pie?
try this
To fully round out this section on key-mapping, it should be mentioned that in some scenarios, the keyboard that xbmc virtualizes may not be recognized as being a keyboard by the software you intend to use it with. In this situation, you can create a udev rule that will authenticate the input as being from an actual keyboard at a system level, allowing it to function anywhere. To add this udev rule, drop to the command line and type:
sudo nano /etc/udev/rules.d/99-xboxdrv.rules
Press 'Enter" and type the following:
SUBSYSTEM=="input", ATTRS{name}=="Microsoft X-Box 360 pad", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
Now press 'ctrl+o' to save the file, 'Enter' to confirm and 'ctrl+x' to exit.
if that dont work then we need to view the log file to see whyyou will have to use WinSCP to dive into your Pie and view the /dev.shm/runcommand.log there.
other then that i done know. from my end you have everything set correctly
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.