diff --git a/game.sh b/game.sh index 2966a97b472dc0d4b68510056e1dd819edc70b79..90a077e4fbc83bffd5ab0b238493bebaee24dac9 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 f88c0104aeb1cf031933fb56c8a47f2ef99cdaaa..675e703e42306c6a5c07f3d4432ab6591a1d317c 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 24dd3e020861ee34c86628c771b4538d13cfc00c..68466080daeedf7e3dbe1b4eea02c0a8d67bd3ca 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 e8dbb7088af673c87ab02958128260f6f92937ea..2aa5e1addabfaac681267a6eaacbcd5c5a0cecdd 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 6113863c481fa50b11457eec4b9098124732b51b..bcb4984964b725adde7d3e0670a5dca95a151837 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 f777013d2c9fe48383bf862b591de8e78223557a..58d8fdee17ab092e14da90df91f5c0009b51e552 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 993dc57f20c64c793ed85ef1b2702df156c0d107..3a77bdb4851c11fa087a13b72b95db433f2042ee 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 0000000000000000000000000000000000000000..d04973620e3de20d1839ccd3a0fd6df861787764 --- /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 0000000000000000000000000000000000000000..a35f2d2948cc7610e89d071bbaf09763045ba99d --- /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 #