From 9c5012874a982fcf6965a9f50e7a72b7a2bef40e Mon Sep 17 00:00:00 2001 From: Mathieu Loiseau <mlois_-gr@yahoo.fr> Date: Tue, 7 Apr 2015 00:05:12 +0200 Subject: [PATCH] added ps3 support and vvvvvv, now with optionnal parameters --- game.sh | 137 ++++++++++++++++++++++++++-------------- modules/amnesia.sh | 2 +- modules/braid.sh | 2 +- modules/limbo.sh | 2 +- modules/lonesurvivor.sh | 2 +- modules/minecraft.sh | 2 +- modules/psychonauts.sh | 2 +- modules/vvvvvv.sh | 11 ++++ modules/vvvvvv.xboxdrv | 30 +++++++++ 9 files changed, 136 insertions(+), 54 deletions(-) create mode 100755 modules/vvvvvv.sh create mode 100644 modules/vvvvvv.xboxdrv diff --git a/game.sh b/game.sh index 2966a97..90a077e 100755 --- a/game.sh +++ b/game.sh @@ -1,54 +1,95 @@ #!/bin/bash # This is a script designed to switch between several preconfigured layouts as defined by the xboxdrv settings held within modules. +# 2 parameters can be used : 1 → x for xbox controller, p for ps3 +# 2 → name of the game as suggested in menu -# Give a list of available games -echo What game would you like to play? -echo 1\) Amnesia -echo 2\) Braid -echo 3\) Limbo -echo 4\) Lone Survivor -echo 5\) Minecraft -echo 6\) Psychonauts -echo "99) None, give me my gamepad mode back." -echo -read userinput -echo +if [ $# = 0 ] +then + echo "(X)box or (P)S3 ?" + read userinput +else + userinput="$1" +fi + +if [ "$userinput" = "p" -o "$userinput" = "P" -o "$userinput" = "PS3" -o "$userinput" = "ps3" ] +then + pad=' --detach-kernel-driver' + echo "PS3 it is → $pad" +elif [ "$userinput" = "X" -o "$userinput" = "x" -o "$userinput" = "Xbox" -o "$userinput" = "xbox" ] +then + pad="" + echo "Xbox it is" +else + pad="" + echo "Whatever" +fi +export pad + +if [ $# -gt 1 ] +then + userinput=$2 +else + # Give a list of available games + echo What game would you like to play? + echo 1\) vvvvvv + echo 2\) Braid + echo 3\) Limbo + echo 4\) Lone Survivor + echo 5\) Minecraft + echo 6\) Psychonauts + echo 7\) Amnesia + echo "99) None, give me my gamepad mode back." + read userinput +fi # Use basic logic to determine which module to load -if [ "$userinput" == 1 -o "$userinput" == "Amnesia" -o "$userinput" == "amnesia" ] -then echo "Your controller will now be configured for Amnesia." -echo -cd modules -./amnesia.sh -elif [ "$userinput" == 2 -o "$userinput" == "Braid" -o "$userinput" == "braid" ] -then echo "Your controller will now be configured for Braid." -echo -cd modules -./braid.sh -elif [ "$userinput" == 3 -o "$userinput" == "Limbo" -o "$userinput" == "limbo" ] -then echo "Your controller will now be configured for Limbo." -echo -cd modules -./limbo.sh -elif [ "$userinput" == 4 -o "$userinput" == "Lone Survivor" -o "$userinput" == "lone survivor" ] -then echo "Your controller will now be configured for Lone Survivor" -echo -cd modules -./lonesurvivor.sh -elif [ "$userinput" == 5 -o "$userinput" == "Minecraft" -o "$userinput" == "minecraft" ] -then echo "Your controller will now be configured for Minecraft." -echo -cd modules -./minecraft.sh -elif [ "$userinput" == 6 -o "$userinput" == "Psychonauts" -o "$userinput" == "psychonauts" ] -then echo "Your controller will now be configured for Psychonauts." -echo -cd modules -./psychonauts.sh -elif [ "$userinput" == 99 ] -then echo "Your controller will now be returned to a normal gamepad." -cd modules -./xpad.sh -else echo That is not a valid choice. -echo +if [ "$userinput" = 1 -o "$userinput" = "vvvvvv" -o "$userinput" = "Vvvvvv" -o "$userinput" = "v" -o "$userinput" = "V" ] +then + echo "Your controller will now be configured for vvvvvv." + echo + cd modules + ./vvvvvv.sh +elif [ "$userinput" = 2 -o "$userinput" = "Braid" -o "$userinput" = "braid" ] +then + echo "Your controller will now be configured for Braid." + echo + cd modules + ./braid.sh +elif [ "$userinput" = 3 -o "$userinput" = "Limbo" -o "$userinput" = "limbo" ] +then + echo "Your controller will now be configured for Limbo." + echo + cd modules + ./limbo.sh +elif [ "$userinput" = 4 -o "$userinput" = "Lone Survivor" -o "$userinput" = "lone survivor" ] +then + echo "Your controller will now be configured for Lone Survivor" + echo + cd modules + ./lonesurvivor.sh +elif [ "$userinput" = 5 -o "$userinput" = "Minecraft" -o "$userinput" = "minecraft" ] +then + echo "Your controller will now be configured for Minecraft." + echo + cd modules + ./minecraft.sh +elif [ "$userinput" = 6 -o "$userinput" = "Psychonauts" -o "$userinput" = "psychonauts" ] +then + echo "Your controller will now be configured for Psychonauts." + echo + cd modules + ./psychonauts.sh +elif [ "$userinput" = 7 -o "$userinput" = "Amnesia" -o "$userinput" = "amnesia" ] +then + echo "Your controller will now be configured for Amnesia." + echo + cd modules + ./amnesia.sh +elif [ "$userinput" = 99 ] +then + echo "Your controller will now be returned to a normal gamepad." + cd modules + ./xpad.sh +else + echo $userinput → that is not a valid choice. fi diff --git a/modules/amnesia.sh b/modules/amnesia.sh index f88c010..675e703 100755 --- a/modules/amnesia.sh +++ b/modules/amnesia.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv -c amnesia.xboxdrv -s +sudo xboxdrv$pad -c amnesia.xboxdrv -s diff --git a/modules/braid.sh b/modules/braid.sh index 24dd3e0..6846608 100755 --- a/modules/braid.sh +++ b/modules/braid.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv -c braid.xboxdrv -s +sudo xboxdrv$pad -c braid.xboxdrv -s diff --git a/modules/limbo.sh b/modules/limbo.sh index e8dbb70..2aa5e1a 100755 --- a/modules/limbo.sh +++ b/modules/limbo.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv -c limbo.xboxdrv -s +sudo xboxdrv$pad -c limbo.xboxdrv -s diff --git a/modules/lonesurvivor.sh b/modules/lonesurvivor.sh index 6113863..bcb4984 100755 --- a/modules/lonesurvivor.sh +++ b/modules/lonesurvivor.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv -c lonesurvivor.xboxdrv -s +sudo xboxdrv$pad -c lonesurvivor.xboxdrv -s diff --git a/modules/minecraft.sh b/modules/minecraft.sh index f777013..58d8fde 100755 --- a/modules/minecraft.sh +++ b/modules/minecraft.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv -c minecraft.xboxdrv -s +sudo xboxdrv$pad -c minecraft.xboxdrv -s diff --git a/modules/psychonauts.sh b/modules/psychonauts.sh index 993dc57..3a77bdb 100755 --- a/modules/psychonauts.sh +++ b/modules/psychonauts.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv -c psychonauts.xboxdrv -s +sudo xboxdrv$pad -c psychonauts.xboxdrv -s diff --git a/modules/vvvvvv.sh b/modules/vvvvvv.sh new file mode 100755 index 0000000..d049736 --- /dev/null +++ b/modules/vvvvvv.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Define the default gamepad module name +module=xpad + +# Check if the module is already loaded, if so, remove it and run the xboxdrv module +if lsmod | grep -q "^$module " +then sudo rmmod xpad +fi + +sudo xboxdrv$pad -c vvvvvv.xboxdrv -s diff --git a/modules/vvvvvv.xboxdrv b/modules/vvvvvv.xboxdrv new file mode 100644 index 0000000..a35f2d2 --- /dev/null +++ b/modules/vvvvvv.xboxdrv @@ -0,0 +1,30 @@ +[xboxdrv] +ui-clear=true +trigger-as-button = true + +[ui-axismap] +x1=KEY_LEFT:KEY_RIGHT +#y1=KEY_UP:KEY_DOWN +x2^dead:6000 = REL_X:750:-1 +y2^dead:6000 = REL_Y:750:-1 + +# trigger^invert = rel-repeat:REL_WHEEL:1:50 + +[ui-buttonmap] +a = KEY_SPACE +x = KEY_ENTER + +lb = KEY_LEFT +rb = KEY_RIGHT + +[ui-buttonmap] +du = KEY_UP +dr = KEY_RIGHT +dd = KEY_DOWN +dl = KEY_LEFT + +[ui-buttonmap] +start = KEY_ESC +back = KEY_TAB + +# EOF # -- GitLab