Woe Gamepad problems

For discussion about Trine, firstly released in 2009 for Windows and on PlayStation Network.
rtcvb32
Posts: 3
Joined: Fri Feb 22, 2013 12:12 pm

Woe Gamepad problems

Postby rtcvb32 » Fri Feb 22, 2013 12:19 pm

I recently got this game and am trying to begin it, however I want to use a game pad for it.

When I first got the game it recognized the buttons I entered, or most of them, However it lacked any way to use the wizard's abilities. Resolution to this seemed to upgrade to the latest version.

Now here is where I am getting issues, now it ONLY recognizes the axis's and the left thumb-stick. This makes it unplayable with the controller (Compared to before where I may have to switch to the mouse/keyboard to use the wizard's abilities).

I'm using a regular XBox1 controller, using TigerGame Xbox controller driver, Win7 x64bit Ultimate.

I really really don't want to have to resort to remapping my controller as keyboard keys to be able to play this.

ledomira
Posts: 23
Joined: Thu Jun 24, 2010 1:45 am

Re: Woe Gamepad problems

Postby ledomira » Tue Feb 26, 2013 11:46 pm

I suggest trying the official Microsoft xbox controller driver. I use that and it works perfectly. Here's the link:

http://www.microsoft.com/hardware/en-us ... or-windows

rtcvb32
Posts: 3
Joined: Fri Feb 22, 2013 12:12 pm

Re: Woe Gamepad problems

Postby rtcvb32 » Wed Feb 27, 2013 12:35 am

The drivers you've pointed to are for the 360 controllers, not the original USB Xbox1 controller(s).
I can help you out getting your original xbox controller working if it has been already converted to USB
But I don't think I can post the instructions here because this method uses a program called" Driver Signature Enforcement Overrider" to allow the device to be installed.

The funny thing is that these drivers are not the Hacked xbcd drivers getting around that require you to mess with your System 32 files (and that don't work anyway), they are digitally signed by Microsoft & they haven't been altered in any way. You don't need to use the "Driver Signature Enforcement Overrider" to install the drivers because they install on both Platforms without any errors or driver incompatibility warnings, in fact they are specifically designed to suit Vista & 7.
But unless you run that program Windows Vista & 7 won't recognize the original Xbox controller as valid hardware, I guess it's because it has been converted into a USB device when it originally was never meant to be a USB device. That theory is just a guess but it is Strange because it's made by Microsoft.

But the problem does seem to be with the actual Controller being recognized as a Compatible device. I think Windows Vista & 7 just don't want to recognize the Original xbox controller as being valid hardware anymore.


To my understanding the original controller(s) (Like the console, so for profit they push the 360...) (see also) is effectively unsupported by Microsoft, and never really was except for their console. And with driver signing being enforced it won't look at an alternate driver, quite annoying.

Also my controller isn't strictly an official 'microsoft' one, the brand notes it's 'Pelican', but works fine on the xbox1, should use the same drivers (but the ID may be different)

I've tried installing the 360 ones, and forcing it with sidewinder (No other options look applicable). It fails and now I gotta re-install the old tiger ones to get it working now. Any other suggestions?

IDs Hardware:
USB\VID_FFFF&PID_FFFF&REV_0100

Compatible Hardware:
USB\Class_58&SubClass_42&Prot_00

rtcvb32
Posts: 3
Joined: Fri Feb 22, 2013 12:12 pm

Re: Woe Gamepad problems

Postby rtcvb32 » Sun Mar 17, 2013 10:30 pm

Well I've made a translator that converts xbox commands to keyboard (That generates scripts which are specialized for the game/purpose). If you use AutoHotKey you can use this script; It's ugly but then again it does the job and rather well too. N & M are place holders for custom keys, which I used for 'next character' and 'next weapon'. It makes the game playable but just barely. I might be better off with the keyboard. Too bad I was kinda hoping to use the controller with this game.

A note the larger portion of the verboseness is from it handling/managing flags which then keeps the script from spamming the computer with unwanted keys strokes or redundant ones, instead holds the key 'down' while the key is active. Due to AHK's emulated multi-threading it has to be in a loop rather than individual keys for direct translation.

ls = left stick, LButton/RButton for mouse buttons. Everything else (in the commented 'source' block) should be self explanatory. In case something goes wrong, WIN+Q will forcibly kill the script.

Code: Select all

/*
;source
d_up -> w
d_left -> a
d_down -> s
d_right -> d
a -> space
white -> LButton
black -> RButton
y -> m
b -> n
x -> e
ls -> mouse
start -> p
back -> i
*/

flag_joy13 = 0
flag_joy15 = 0
flag_joy14 = 0
flag_joy16 = 0
flag_joy1 = 0
flag_joy6 = 0
flag_joy5 = 0
flag_joy4 = 0
flag_joy2 = 0
flag_joy3 = 0
flag_joy9 = 0
flag_joy10 = 0
GetKeyState, center_x1, Joyx
GetKeyState, center_y1, Joyy
threshhold = 5

SetMouseDelay, 1
mouseMult = 0.5
loop, {
  sleep 10
  GetKeyState, x1, Joyx
  GetKeyState, y1, Joyy
  x1 -= center_x1
  y1 -= center_y1
  if (getKeyState("joy13", "P")) {
    if (!flag_joy13) {
      flag_joy13 = 1
      send {w down}
    }
  } else if (flag_joy13) {
    flag_joy13 =
     send {w up}
  }

  if (getKeyState("joy15", "P")) {
    if (!flag_joy15) {
      flag_joy15 = 1
      send {a down}
    }
  } else if (flag_joy15) {
    flag_joy15 =
     send {a up}
  }

  if (getKeyState("joy14", "P")) {
    if (!flag_joy14) {
      flag_joy14 = 1
      send {s down}
    }
  } else if (flag_joy14) {
    flag_joy14 =
     send {s up}
  }

  if (getKeyState("joy16", "P")) {
    if (!flag_joy16) {
      flag_joy16 = 1
      send {d down}
    }
  } else if (flag_joy16) {
    flag_joy16 =
     send {d up}
  }

  if (getKeyState("joy1", "P")) {
    if (!flag_joy1) {
      flag_joy1 = 1
      send {space down}
    }
  } else if (flag_joy1) {
    flag_joy1 =
     send {space up}
  }

  if (getKeyState("joy6", "P")) {
    if (!flag_joy6) {
      flag_joy6 = 1
      send {LButton down}
    }
  } else if (flag_joy6) {
    flag_joy6 =
     send {LButton up}
  }

  if (getKeyState("joy5", "P")) {
    if (!flag_joy5) {
      flag_joy5 = 1
      send {RButton down}
    }
  } else if (flag_joy5) {
    flag_joy5 =
     send {RButton up}
  }

  if (getKeyState("joy4", "P")) {
    if (!flag_joy4) {
      flag_joy4 = 1
      send {m down}
    }
  } else if (flag_joy4) {
    flag_joy4 =
     send {m up}
  }

  if (getKeyState("joy2", "P")) {
    if (!flag_joy2) {
      flag_joy2 = 1
      send {n down}
    }
  } else if (flag_joy2) {
    flag_joy2 =
     send {n up}
  }

  if (getKeyState("joy3", "P")) {
    if (!flag_joy3) {
      flag_joy3 = 1
      send {e down}
    }
  } else if (flag_joy3) {
    flag_joy3 =
     send {e up}
  }

  if (getKeyState("joy9", "P")) {
    if (!flag_joy9) {
      flag_joy9 = 1
      send {p down}
    }
  } else if (flag_joy9) {
    flag_joy9 =
     send {p up}
  }

  if (getKeyState("joy10", "P")) {
    if (!flag_joy10) {
      flag_joy10 = 1
      send {i down}
    }
  } else if (flag_joy10) {
    flag_joy10 =
     send {i up}
  }
  if ((x1 > threshhold) || (x1 < -threshhold) || (y1 > threshhold) || (y1 < -threshhold))
    mousemove, (x1 * mouseMult), (y1 * mouseMult),,R
}

#q:: exitapp


Return to “Trine”

Who is online

Users browsing this forum: No registered users and 8 guests