Jump to content
LaunchBox Community Forums

LED Blinky - I'm using xinput. How do I simply turn my LEDs on?


Recommended Posts

Posted

I can't map buttons/input codes to my LED Blinky ports because it expects direct input and I'm using xinput. I wouldn't have gotten LED buttons for my arcade cab if I knew this.

For now, I just want to turn all of the LEDs on and to white. How can I achieve this in big box? Or is there a simpler way to turn them all on in LED Blinky's config? I haven't seen a way besides animations, and those don't run by themselves.

  • 1 year later...
Posted (edited)

There wasn't a solution for doing the dynamic game mapping of buttons, no.

But you can set all of the buttons to white with a custom animation. I cant remember how to do it exactly, but you set all of the buttons to white in the animation editor and it just reruns that single frame of white forever.

Also, I highly recommend the IPAC boards if you're using xinput. It saves so much time and is less of a hassle than using an ipac board and mapping those to xinput via software.

Edited by Hamburglin
  • 6 months later...
Posted
On 8/10/2024 at 4:49 PM, Hamburglin said:

There wasn't a solution for doing the dynamic game mapping of buttons, no.

But you can set all of the buttons to white with a custom animation. I cant remember how to do it exactly, but you set all of the buttons to white in the animation editor and it just reruns that single frame of white forever.

Also, I highly recommend the IPAC boards if you're using xinput. It saves so much time and is less of a hassle than using an ipac board and mapping those to xinput via software.

What iPac boards are you talking about? You mentioned the same ones twice? 

Posted (edited)
4 minutes ago, Truest1 said:

What iPac boards are you talking about? You mentioned the same ones twice? 

Oops. I meant that I recommend the PACTO xinput boards over old-school IPAC boards that typically require intermediary software to turn its (very old) dinput controls into xinput controls. The pacto board makes controls "just work" with today's emulators and regular PC games. I've had zero issues with it

 

This is the one me and my friends use: https://pactotech.com/en-us/products/copy-of-pacto-tech-4000t-4-player-control-interface-for-arcade-cabinets-supports-xinput-protocol

Edited by Hamburglin
Posted
9 minutes ago, Hamburglin said:

Oops. I meant that I recommend the PACTO xinput boards over old-school IPAC boards that typically require intermediary software to turn its (very old) dinput tools into xinput controls that "just work" with today's emulators and regular PC games.

 

This is the one me and my friends use: https://pactotech.com/en-us/products/copy-of-pacto-tech-4000t-4-player-control-interface-for-arcade-cabinets-supports-xinput-protocol

Ok I see. But we also need keyboard keys for pinball games like visual pinball Future pinball pinball fx. These look interesting though. 

Posted (edited)
2 minutes ago, Truest1 said:

Ok I see. But we also need keyboard keys for pinball games like visual pinball Future pinball pinball fx. These look interesting though. 

I still use an IPAC for keyboard and mouse/trackball/spinner. But vpinx uses xinput just fine for controls FYI. You just bind them in the options menu.

Edited by Hamburglin
Posted
2 minutes ago, Truest1 said:

Ok I see. But we also need keyboard keys for pinball games like visual pinball Future pinball pinball fx. These look interesting though. 

Never tried it on the other 2, but you can [also] set XInput controls for Visual Pinball (VPX).  Though, to me, it's weird playing it with a controller. :) 

Posted (edited)
4 minutes ago, JoeViking245 said:

Never tried it on the other 2, but you can [also] set XInput controls for Visual Pinball (VPX).  Though, to me, it's weird playing it with a controller. :) 

He's talking about an arcade cabinet. He'd just wire his cabinets side buttons (if that's what he has) into the PACTO board. You can wire as many buttons as you want to the same pacto buttons.

So, he could have a button from his arcade controls wired to X and also have a side button used for pinball wired to the same X port on the board just fine. I do this for physical coin slots as well. They are wired into the SELECT port along with the normal arcade select/coin buttons.

Edited by Hamburglin
Posted
10 minutes ago, Hamburglin said:

He's talking about an arcade cabinet.

I keep forgetting 'newer' encoders can also do XInput.  The antiquated IPac-2 encoder on my cab can only do keyboard mode.  But the cab at least does have the side flipper buttons.

  • 1 month later...
Posted
On 2/22/2025 at 9:28 AM, Hamburglin said:

Oops. I meant that I recommend the PACTO xinput boards over old-school IPAC boards that typically require intermediary software to turn its (very old) dinput controls into xinput controls. The pacto board makes controls "just work" with today's emulators and regular PC games. I've had zero issues with it

 

This is the one me and my friends use: https://pactotech.com/en-us/products/copy-of-pacto-tech-4000t-4-player-control-interface-for-arcade-cabinets-supports-xinput-protocol

I just purchased the pacto 4000t can't wait to get it. I had just installed 2 Ultimarc boards with trackball ,spinner, and flight stick. 4 players. But now i I switched to pacto. Gonna get the trackball / spinner module along with the Bluetooth doune mudual the buttons kits to switch modes too. Just stressing on how I'm gonna setup pinball fx 2 fx3 the new fx, visual pinball the pinball arcade , andvarious Steam pinball games as well. Hope it works well with those. And how to set it up with the pacto. Also a big thing will be setting up the ipac64 led LEDbinky boards to work with the pacto 4000t. Since it's xinput can't figure out to make that work. 

Thank you for enlightening me on these boards. Hopefully it goes well for me. Specially with pinball and ledblinky like I mentions. Thanks again. 

  • 1 month later...
Posted

Apologies for the double post, but I feel this info is more relevant here as primarily relates to XINPUT controller issues - I will delete my first post in the other thread if this is not allowed.

---

Sharing the information below as it may help others (since I have seen people asking about this in other forums).

I am using a GP2040-CE ABB controller (v5.6e) with an 8-button layout. I got mine from Akicus. This controller is more fightstick orientated, but has many new and modern features, as well as ongoing development support from the community.

I have configured the button layout in MAME and Retroarch like so:

1 2 3 7
4 5 6 8

Regarding XINPUT, I have wired my controller using the following Xbox layout (not Nintendo, as that would mirror the ABXY layout):

X Y RB LB
A B RT LT

If you prefer the Playstation trigger naming convention:

X Y R1 L1
A B R2 L2

The link below will give you a small guide on how to best map your controller, which is extra useful when you're trying to use XINPUT:

https://docs.google.com/spreadsheets/d/1Aa7YNHspNBTACU6pIuHJ_cQKKvt0cLEruBXMeEYp-FY/edit?usp=sharing

Below is a text extract of the spreadsheet in case there is an issue with the above link in the future (even if text looks a little messy):

Location        XINPUT    MAME    LEDB Port        LEDB InputCodes
Top 1                  X               1             P1B1             JOYCODE_1_BUTTON3
Top 2                  Y               2             P1B2             JOYCODE_1_BUTTON4
Top 3                RB              3             P1B3             JOYCODE_1_BUTTON6
Top 4                LB              7             P1B7             JOYCODE_1_BUTTON5
Bottom 1           A              4             P1B4             JOYCODE_1_BUTTON
Bottom 2           B              5             P1B5             JOYCODE_1_BUTTON2
Bottom 3          RT             6             P1B6             JOYCODE_1_BUTTON8|JOYCODE_1_SLIDER2_NEG_SWITCH
Bottom 4          LT             8             P1B8             JOYCODE_1_BUTTON7|JOYCODE_1_SLIDER1_NEG_SWITCH

If you only have 6-buttons, you can ignore Top 4 and Bottom 4 in the above list (this is the only real difference between 6-button and 8-button in mapping).

You can make these mapping changes directly in the "LEDBlinkyInputMap.xml" file using Notepad or alike if you prefer. In my spreadsheet, I have called out the LED sequence which may help you understand things too, but the main thing here is to ensure XINPUT is aligned with MAME and that is aligned with LEDBlinky InputCodes.

You will also need to make sure that the LEDBlinky input codes match the same input codes as shown in your MAME ctrlr cfg file (default is stored in "MAME\cfg\default.cfg"). An example of what this should be for Player 1 in your MAME ctrlr cfg is below:

---

<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
    <system name="default">
        <input>
            <port type="P1_BUTTON1">
                <newseq type="standard">
                    KEYCODE_LCONTROL OR MOUSECODE_1_BUTTON1 OR JOYCODE_1_BUTTON3
                </newseq>
            </port>
            <port type="P1_BUTTON2">
                <newseq type="standard">
                    KEYCODE_LALT OR MOUSECODE_1_BUTTON3 OR JOYCODE_1_BUTTON4
                </newseq>
            </port>
            <port type="P1_BUTTON3">
                <newseq type="standard">
                    KEYCODE_SPACE OR MOUSECODE_1_BUTTON2 OR JOYCODE_1_BUTTON6
                </newseq>
            </port>
            <port type="P1_BUTTON4">
                <newseq type="standard">
                    KEYCODE_LSHIFT OR JOYCODE_1_BUTTON1
                </newseq>
            </port>
            <port type="P1_BUTTON5">
                <newseq type="standard">
                    KEYCODE_Z OR JOYCODE_1_BUTTON2
                </newseq>
            </port>
            <port type="P1_BUTTON6">
                <newseq type="standard">
                    KEYCODE_X OR JOYCODE_1_SLIDER2_NEG_SWITCH OR JOYCODE_1_BUTTON8
                </newseq>
            </port>
            <port type="P1_BUTTON7">
                <newseq type="standard">
                    KEYCODE_C OR JOYCODE_1_BUTTON5
                </newseq>
            </port>
            <port type="P1_BUTTON8">
                <newseq type="standard">
                    KEYCODE_V OR JOYCODE_1_SLIDER1_NEG_SWITCH OR JOYCODE_1_BUTTON7
                </newseq>
            </port>
            <port type="P2_BUTTON1">
                <newseq type="standard">
                    KEYCODE_A OR MOUSECODE_2_BUTTON1 OR JOYCODE_2_BUTTON3
                </newseq>
            </port>
            <port type="P2_BUTTON2">
                <newseq type="standard">
                    KEYCODE_S OR MOUSECODE_2_BUTTON3 OR JOYCODE_2_BUTTON4
                </newseq>
            </port>
            <port type="P2_BUTTON3">
                <newseq type="standard">
                    KEYCODE_Q OR MOUSECODE_2_BUTTON2 OR JOYCODE_2_BUTTON6
                </newseq>
            </port>
            <port type="P2_BUTTON4">
                <newseq type="standard">
                    KEYCODE_W OR JOYCODE_2_BUTTON1
                </newseq>
            </port>
            <port type="P2_BUTTON5">
                <newseq type="standard">
                    KEYCODE_E OR JOYCODE_2_BUTTON2
                </newseq>
            </port>
            <port type="P2_BUTTON6">
                <newseq type="standard">
                    JOYCODE_2_SLIDER2_NEG_SWITCH OR JOYCODE_2_BUTTON8
                </newseq>
            </port>
            <port type="P2_BUTTON7">
                <newseq type="standard">
                    JOYCODE_2_BUTTON5
                </newseq>
            </port>
            <port type="P2_BUTTON8">
                <newseq type="standard">
                    JOYCODE_2_SLIDER1_NEG_SWITCH OR JOYCODE_2_BUTTON7
                </newseq>
            </port>
            <port type="UI_SELECT">
                <newseq type="standard">
                    KEYCODE_ENTER
                </newseq>
            </port>
            <port type="UI_BACK">
                <newseq type="standard">
                    KEYCODE_ESC
                </newseq>
            </port>
        </input>
    </system>
</mameconfig>

---

On another note, if you are using additional admin or misc buttons in LEDBlinky as well, make sure you remove any unnecessary input assignments that might be included by default.

For example, I had an issue where button 4 was always lit up during gameplay, as the same button was shared with "UI_SELECT" by default and I was unaware of this. To check the misc input assignments in MAME:

MAME > "General Settings" > "Input Assignments" > "User Interface"

The above MAME config has already accounted for this specific conflict, but I am sharing this information in case it helps others in the future.

Hope this information helps! :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...