From aee9a3e4f33867909d2b7c2238c86ef439abe681 Mon Sep 17 00:00:00 2001 From: Mathieu Loiseau <mlois_-gr@yahoo.fr> Date: Sat, 18 Apr 2015 15:37:39 +0200 Subject: [PATCH] =?UTF-8?q?+=20LED=20&=20eggnog=20=E2=86=92=20config=20fil?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.sh | 4 ++++ game.sh | 43 +++++++++++++++++++++++++++++++---------- modules/amnesia.sh | 2 +- modules/braid.sh | 2 +- modules/eggnogg.sh | 26 +++++++++++++++++++++++++ modules/limbo.sh | 2 +- modules/lonesurvivor.sh | 2 +- modules/minecraft.sh | 2 +- modules/psychonauts.sh | 2 +- modules/vvvvvv.sh | 2 +- modules/xpad.sh | 4 ++-- 11 files changed, 72 insertions(+), 19 deletions(-) create mode 100755 config.sh create mode 100755 modules/eggnogg.sh diff --git a/config.sh b/config.sh new file mode 100755 index 0000000..79106bc --- /dev/null +++ b/config.sh @@ -0,0 +1,4 @@ +#!/bin/bash +#configure working directories +export workingDirectory="/where/gamepad-switcher/is" +export killProcessesScript="a/shell/file/that/will/be/created/and/erased/in/working/directory" \ No newline at end of file diff --git a/game.sh b/game.sh index 90a077e..4f75039 100755 --- a/game.sh +++ b/game.sh @@ -3,6 +3,21 @@ # 2 parameters can be used : 1 → x for xbox controller, p for ps3 # 2 → name of the game as suggested in menu +#configuration +. ./config.sh +cd $workingDirectory +if [ -e "$killProcessesScript" ] +then + echo "There seems to be (a) running instance(s) of the game controller, do you want to brutally kill the processes? (Y/n)\nI'm not sure what it does if you don't…" + read userinput + if [ "$userinput" = "Y" ] + then + sh $killProcessesScript + rm $killProcessesScript + sleep 1 + fi +fi + if [ $# = 0 ] then echo "(X)box or (P)S3 ?" @@ -33,11 +48,12 @@ else 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 3\) Eggnogg + echo 93\) Limbo + echo 94\) Lone Survivor + echo 95\) Minecraft + echo 96\) Psychonauts + echo 97\) Amnesia echo "99) None, give me my gamepad mode back." read userinput fi @@ -55,31 +71,38 @@ then echo cd modules ./braid.sh -elif [ "$userinput" = 3 -o "$userinput" = "Limbo" -o "$userinput" = "limbo" ] +elif [ "$userinput" = 3 -o "$userinput" = "Eggnogg" -o "$userinput" = "eggnogg" -o "$userinput" = "egg" -o "$userinput" = "E" -o "$userinput" = "e" ] +then + echo "Your controllerS will now be configured for eggnogg." +#Different types of controllers could be configured, but it's not my case so I won't do it ;) + echo + cd modules + ./eggnogg.sh +elif [ "$userinput" = 93 -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" ] +elif [ "$userinput" = 94 -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" ] +elif [ "$userinput" = 95 -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" ] +elif [ "$userinput" = 96 -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" ] +elif [ "$userinput" = 97 -o "$userinput" = "Amnesia" -o "$userinput" = "amnesia" ] then echo "Your controller will now be configured for Amnesia." echo diff --git a/modules/amnesia.sh b/modules/amnesia.sh index 675e703..37abf82 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$pad -c amnesia.xboxdrv -s +sudo xboxdrv$pad -c amnesia.xboxdrv -s --led 2 diff --git a/modules/braid.sh b/modules/braid.sh index 6846608..06ba98d 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$pad -c braid.xboxdrv -s +sudo xboxdrv$pad -c braid.xboxdrv -s --led 2 diff --git a/modules/eggnogg.sh b/modules/eggnogg.sh new file mode 100755 index 0000000..276891c --- /dev/null +++ b/modules/eggnogg.sh @@ -0,0 +1,26 @@ +#!/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 + +if [ ! -e "$workingDirectory$killProcessesScript" ] +then + touch "$workingDirectory$killProcessesScript" +fi +sudo xboxdrv$pad -s -i 0 --led 2 & +echo "controller1 is being handled by process number $!" +if [ -f "$workingDirectory$killProcessesScript" ] +then + echo "sudo kill $!" > "$workingDirectory$killProcessesScript" +fi +sudo xboxdrv$pad -s -i 1 --led 3 & +echo "controller2 is being handled by process number $!" +if [ -f "$workingDirectory$killProcessesScript" ] +then + echo "sudo kill $!" >> "$workingDirectory$killProcessesScript" +fi \ No newline at end of file diff --git a/modules/limbo.sh b/modules/limbo.sh index 2aa5e1a..016551b 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$pad -c limbo.xboxdrv -s +sudo xboxdrv$pad -c limbo.xboxdrv -s --led 2 diff --git a/modules/lonesurvivor.sh b/modules/lonesurvivor.sh index bcb4984..bbdbeb1 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$pad -c lonesurvivor.xboxdrv -s +sudo xboxdrv$pad -c lonesurvivor.xboxdrv -s --led 2 diff --git a/modules/minecraft.sh b/modules/minecraft.sh index 58d8fde..31a8ba2 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$pad -c minecraft.xboxdrv -s +sudo xboxdrv$pad -c minecraft.xboxdrv -s --led 2 diff --git a/modules/psychonauts.sh b/modules/psychonauts.sh index 3a77bdb..a528802 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$pad -c psychonauts.xboxdrv -s +sudo xboxdrv$pad -c psychonauts.xboxdrv -s --led 2 diff --git a/modules/vvvvvv.sh b/modules/vvvvvv.sh index d049736..5134dc4 100755 --- a/modules/vvvvvv.sh +++ b/modules/vvvvvv.sh @@ -8,4 +8,4 @@ if lsmod | grep -q "^$module " then sudo rmmod xpad fi -sudo xboxdrv$pad -c vvvvvv.xboxdrv -s +sudo xboxdrv$pad --led 2 -c vvvvvv.xboxdrv -s diff --git a/modules/xpad.sh b/modules/xpad.sh index ed73b19..d3309e0 100755 --- a/modules/xpad.sh +++ b/modules/xpad.sh @@ -4,7 +4,7 @@ module=xpad if lsmod | grep -q "^$module " then echo "Xpad already loaded." -else echo "Controller has been returned to normal function." -sudo modprobe xpad +else sudo modprobe xpad +echo "Controller has been returned to normal function." echo fi -- GitLab