Seeking gamepad input display widget for tutorial videos

Discussion in 'FRAPS General Discussion, Guides, and Tutorials' started by Bahger, Sep 18, 2014.

  1. For the last ten years I've been using FRAPS (full version, I don't know what I'd do without it) to record game video for tutorials with voiceover but for one game in particular I need a program that can show input data from a wired MS Xbox 360 gamepad for PC on the game screen. I assume FRAPS itself has no such widget.

    The only software I have found is this:

    Open Broadcaster Software - Download

    While obviously very good, it seems rather technical and is designed for live streaming, which adds a layer of complication that I do not need. It also appears to replicate a lot of the functionality I already have in FRAPS. All I need is a little input display widget that can be switched on and off and will display in FRAPS recordings.

    Can anyone steer me in the right direction? Many thanks.
  2. ETAdmin

    ETAdmin Administrator Staff Member

    Can you clarify what you expect to see on the screen? Are you looking for something that shows what part of the d-pad is being pressed, as well as buttons?

    A real-life example I think would be some fighting game videos which shows how the players are manipulating the controls during the match.
  3. Thanks for responding. I've seen thid softwtware before but I cannot find the captured videos on YouTube. All I want to see is a little gamepad schematic in a bottom corner of the screen that shows which buttons, triggers and axes are being pressed, when, and for how long. I have the MS 360 controller for PC. It might be a good thing for FRAPS to consider incorporating as a lot of very good, high-end PC games (especially sports games) play best with a pad. Thanks again.
  4. raffriff

    raffriff Moderator Staff Member Site Contributor

    I'd like to see something like this too. Fraps will (probably) never incorporate this feature; they are coasting at this point. One of the newer programs is much more likely to do so.

    Getting the game controller input and making a graphic is almost trivial - I think I could do it - but the major hurdle is overlaying arbitrary graphics on someone else's game. You can't write one function to do this, you have to write a lot of them, to support the different display technologies and even the quirks of specific games - and you must do it without triggering cheat detectors. Keeping up with it all must be a huge chore for Fraps and its competitors.

    So, if you find that software, please let us know!
  5. This is very helpful, if not exactly encouraging, thank you!
  6. raffriff

    raffriff Moderator Staff Member Site Contributor

    I have come up with an AutoHotkey script (attached) that logs all controller activity to a file. The idea being to use this data to overlay a graphic in the editing stage, which is much easier to do than a real-time overlay.

    Next I need to implement that graphic overlay. I'll go play around and see what can be done. If you have a picture of your controller, please upload it, with the button numbers identified if possible.

    (hey @billman, what do you think?)
    EDIT - revised script
    EDIT - revised script again - get it here (dropbox)
    Last edited: Oct 1, 2014
  7. This is incredible kind of you. I have a bog-standard MS Xbox controller (wired) for the PC. Does help? If not, let me know and I will post some more.

  8. raffriff

    raffriff Moderator Staff Member Site Contributor

    I'm making good progress...I can make a video with a sprite that moves around based on analog joystick position...the buttons should be even easier...I just need to get all the data channels going at once and make it as user friendly as possible. It's gonna require AutoHotkey as I said, and Avisynth, plus a small script, probably VBScript, to tie the pieces together. And a video editor that reads Avisynth, such as VirtualDub.

    Shoot, just remembered I can download plenty of images of Xbox 360 gamepad button layouts.
    How about this one here (scroll down)
    The numbers shown there are probably closer to the raw data than the picture you have.

    First I will get my PC gamepad working, then I'll ask you to record some test data - basically press all the buttons and tell me what you did so I can confirm I'm reading it correctly.
  9. Very grateful for what you are doing and I'm happy to test what you come up with. I use Sony Vegas to edit DV, I do not have VirtualDub (although I did once, I think). Vegas is not on that list you linked. Please bear in mind that I know nothing about code; I am just a fairly sophisticated end-user. Thanks again.
  10. raffriff

    raffriff Moderator Staff Member Site Contributor

    It's working, but needs some additional code to "tie the pieces together" as I mentioned. I would like to make a GUI for this eventually, but for now it will be a number of scripts, I'm afraid.

    On the plus side:
    • Can be configured to show a wide variety of controllers.
    • Animated buttons (I have a subtle "flare" effect going here, but it could be anything)
    • Support for up to 6 analog axes, 1 POV hat, 12 buttons
      • 2 button styles: in front of and behind main controller body
    • POV has up to 8 animated "arrows" or other indicators.
    • Analog axis display (user selectable; in the video I show the X axis as a bar graph + rotation)
      • Horizontal and vertical bar graphs.
      • Moving "sprite" - for joysticks.
      • Controller can rotate (for tilt pads like the one shown; also, steering wheels etc).
      • Controller can zoom in & out, move up & down.
    Someone with more artistic talent than me could make cool custom controller bodies and buttons: imagine your avatar as the body, and when you press a button, a tool/weapon lights up...

    This is just a teaser. I'll post again when it's a little more user-friendly.
    Last edited: Sep 29, 2014
  11. This looks great! I have never used a gamepad for steering by rotating it so I have no idea how your program can track that input. I saw no stick input displayed in that demo and I was wondering how it displays trigger input. Fantastic job!
  12. raffriff

    raffriff Moderator Staff Member Site Contributor

    Yeah, it's a tilt pad, they're kind of hard to find now. I find them OK for casual driving games, but they're not too precise.

    I have the Xbox 360 controller body 90% ready to go...

    Could you make me a short log file please so I know what buttons are where?
    1. Install AutoHotkey (a popular keyboard & macro utility)
    2. Get the file I attached above ; remove the .txt extension so it is becomes .ahk
    3. Get your gamepad ready...
    4. Double click the .ahk file to run it; you will see an icon in the System area of the taskbar
    5. Run a simple sequence, such as left-right, up-down on the analog joysticks, north-east-south-west on the hat; and press all the buttons. Make a note of what you did!
    6. Right click the taskbar icon to quit.
    7. A new file (something-log.csv) will appear in the folder where you put the .ahk script.
    8. Please get this file to me somehow, along with a description of what I *should* be seeing in the data.
      If you attach it to your post (you might not have permission, being "new" around here) you will have to rename it to .txt, as .csv is not an allowed extension for attachments.
    Last edited: Sep 29, 2014
    deardevildude19 likes this.
  13. This is great, Raffriff. I am going to be AFK for much of the rest of the day but I will get on this asap and follow your instructions to the letter.
  14. Raff, I have installed the utility and downloaded the file but I cannot make the sequence of events you describe so clearly work at the moment. If you are on Steam or Teamspeak, the best thing might be a quick voice comm session. My name in Steam is Strummer.
  15. Thalmor Wizard

    Thalmor Wizard Moderator Staff Member Site Contributor

    Raffriff doesn't really do steam or any of those services. Your best bet is to reach him here on the forums via the conversations system: you can send him a message by clicking his avatar in this thread and clicking "Send a Message" in the popup. :)
  16. ...or Skype.

    Thanks, Thalmor. A quick voice conversation would save a few hundred typed words in this instance, though.
    Last edited by a moderator: Oct 1, 2014
  17. I am probably missing something fairly simple but I do not see evidence of any controller output being registered in any file associated with this utility and a search for the generated .csv file yields nothing.
  18. raffriff

    raffriff Moderator Staff Member Site Contributor

    Huh, don't know, but I have revised my script to report if it can't create the file. It also pops up a message box when it starts, telling you the folder and file name is has created. Get it here (dropbox)

    I suspect a Windows user permission problem. Try placing the script in your home Documents folder.

    Note, you might not see the file until a second or two after you quit the script.
    Last edited: Oct 1, 2014
    Thalmor Wizard likes this.
  19. No dice, I'm afraid. I tried to put the file you sent me in both its own folder and in My Documents but in each case I have to open AutoHotKey to get it to show up in the system area of the Taskbar. Double-clicking the file you sent me does nothing except open that file as a Notepad doc (even the the extension is. ahk). I do inputs in my pad, but they do not appear to be registering anywhere. When I click on the H icon in the system area of the Taskbar it brings up a script window but I have no idea how to get it to respons to my pad inputs or how to use it with the file you sent me.
  20. raffriff

    raffriff Moderator Staff Member Site Contributor

    Sorry about all this trouble, Bahger. Try right-clicking the file and selecting "Run Script."

    AutoHotkey can compile its scripts into standalone .EXE's. This might work better, I don't know - get the EXE version here. You might possibly have to right-click and select Run As... (administrator), but I doubt it.

Share This Page