SDL Joystick Object release

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Can you fix this to where you can also use Nintendo Switch Pro Controllers? It seems to crash when I try using one.


    If you hop on the Please login to see this link., I can build a debug version and we'll see what's crashing it. I don't have a Switch Pro to test with.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • First of all, thank you so much for the extension.

    I'm using Dark Edif variant (build 8) and while ps4 joypad works flawlessly, i'm experiencing some sort of lag with keyboard.
    If i use joypad for one player and keyboard for the other ones, sometimes both key is pressed and (negate) key is pressed didn't trigger at all.

    is there something that i could check?
    Thanks again.

  • Try using Control X, folk seem to get better responses with SDL Joystick + Control X.

    Note: The problem needing this workaround was fixed in build 10.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited once, last by Phi (August 11, 2024 at 7:03 PM).

  • Man so glad I found this! If you look into Steam reviews for Please login to see this link. many of them are negative due to the controller not working. The lack of solution really crushed my hopes for having my game truly completed. My game uses Volnaiskra(who did awesome work) Vaccine2 which I've modified to work with multiple controllers. Everything worked just fine on my computer but then after the release I learnt the hard way how unreliable the Joysitick 2 object is.

    First tests of your SDL are very promising and I hope to finally patch my broken game! :)

  • SDL Joystick (DarkEdif) Please login to see this link. (Please login to see this link.). (Old version, get build 11 from Please login to see this link.)

    • Fixed Nintendo Switch controller freezing the app* on unplug - eventually narrowed it down to missing error checks when no timers are in SDL code
    • Fixed error messages in custom game controller keybinding file load, when file path couldn't be opened.
    • DarkEdif SDK updated from v10 to v12 - fixed Windows XP compatibility, extension update checks are more stable
    • SDL library updated from v2.0.12 to v2.0.20

    * = Note, on some machines, there may be still be joystick input freezing (not app freezing), specifically when running Steam and using a wired Switch Pro controller. This is from Steam and SDL apps fighting; it's a Please login to see this link., not a fault of my ext itself, so I can't easily fix it.
    The two workarounds are:
    1) closing Steam n unplugging/replugging the controller
    2) switching the controller to Bluetooth

    Note: SDL freezing/Steam fight was fixed in build 10.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited 2 times, last by Phi (August 11, 2024 at 7:05 PM).

  • Thanks for the update Phil.

    Now i have a question that will sounds stupid for sure, but i'm missing a lot i think.

    Tested with ps4 dualshock and everything is good.
    Xbox controller doesn't work tho. Dunno about others.

    There's a way to tell wich joypad is connected? Shoul i (how?) use the map file feature? X)

  • Xbox controller doesn't work tho. Dunno about others.


    I got another user to test - they having no issues on Bluetooth or wired.
    What sort of issues are you having, and what specific Xbox controller are you using?
    What Windows version, Windows 10?
    Does it work with other programs on your PC?

    There's a way to tell which joypad is connected? Should i (how?) use the map file feature? X)


    Get device name/GUID might tell you. I don't know if SDL exposes a unique joystick identifier, Please login to see this link., so if you have two controllers of the same type, and start unplugging and plugging back in, you might confuse things. I don't have two controllers to test scenarios like that.

    Should i (how?) use the map file feature? X)


    Every controller should show up and provide input.
    The mapping file converts various brands of game controllers to have consistent input, much like Steam does with their steam controller setup tool. For example, if a controller has four direction buttons, and another uses ABXY in the same location on the controller, a mapping will change the input from one to the other before it reaches your program, so your program only has to deal with one controller, so to speak.
    It might be useful to offer mapping file loading to the user, but most users won't need it. If you're tempted to support all off-brand controllers anyway, there's a Please login to see this link. (you want to load the gamecontrollerdb.txt file).

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Thanks for the update Phil.

    mais jeux en flash fait avec mmf :Please login to see this link.

    les video du projet controleur des jeux flash,htlm5,EXE,sourie avec le telephone comme manette :)
    VIDEO Please login to see this link.

    VIDEO Please login to see this link.

  • I got another user to test - they having no issues on Bluetooth or wired.
    What sort of issues are you having, and what specific Xbox controller are you using?
    What Windows version, Windows 10?
    Does it work with other programs on your PC?

    The issue is simple: joypad doesn't work. The only button is "select" button that acts as the "start" button. It's a wireless series S (but i'm using it wired).
    I'm on Windows 10.
    The joypad works well with other programs.


    Get device name/GUID might tell you. I don't know if SDL exposes a unique joystick identifier, Please login to see this link., so if you have two controllers of the same type, and start unplugging and plugging back in, you might confuse things. I don't have two controllers to test scenarios like that.

    I tried it, but returns empty string. Same with GUID.


    Every controller should show up and provide input.
    The mapping file converts various brands of game controllers to have consistent input, much like Steam does with their steam controller setup tool. For example, if a controller has four direction buttons, and another uses ABXY in the same location on the controller, a mapping will change the input from one to the other before it reaches your program, so your program only has to deal with one controller, so to speak.
    It might be useful to offer mapping file loading to the user, but most users won't need it. If you're tempted to support all off-brand controllers anyway, there's a Please login to see this link. (you want to load the gamecontrollerdb.txt file).

    I'm confused right now.
    I just installed (and updated) your version of SDL Joystick and i simply went this way:
    button 0 is pressed > do some stuff
    button 1 is pressed > do some other stuff

    I thought this was meant to work with every joypad. I'm missing something for sure.

  • Ok name and GUID works.
    Once i've got the name i have to go through this approach for every model?

    if name = PS4 dualshock (or GUID=)
    button 1 is pressed
    or
    if name = Xbox One for Windows (or GUID=)
    button 4 is pressed


    I bet there's an easier way...

  • Please login to see this link.
    Add controller mappings

    Thanks fnkycoldmadeanr,

    i did it a moment ago
    start of frame > load map from file > Apppath$ + "gamecontrollersdb.txt"

    but i don't understand how to call the buttons.

    the lines in the map file are like this one:
    030000004c050000c405000000010000,PS4

    Quote

    Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,

    Since in SDL buttons are numbers, i don't understand how to target each button, nor i can't find a guide about it. >:)

    I'm sorry for my ignorance...

  • Pika I think all you need to do is load that entire txt file on SDL and it will automatically make so buttons are consistent across all controllers...

    Thanks NaitorStudios,

    this is clear, but how should i target the buttons?

    How i tell SDL "if directional-pad up is pressed...", or "if start" is pressed..."?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!