Input Overlay

Input Overlay 5.0.0

OhLindor

New Member
Hello! I have some issues trying to get the gamepad display to work while in-game. The display is showing my joystick and buttons pressed when not in a game, but as soon as I click in to say, Rocket League, the input freezes and does not detect any of my button presses or joystick movement.

Here is one of my OBS logs: https://obsproject.com/logs/agOK1Fp6vO7V81CI
 

OhLindor

New Member
Hello! I have some issues trying to get the gamepad display to work while in-game. The display is showing my joystick and buttons pressed when not in a game, but as soon as I click in to say, Rocket League, the input freezes and does not detect any of my button presses or joystick movement.

Here is one of my OBS logs: https://obsproject.com/logs/agOK1Fp6vO7V81CI
I did run as administrator btw. ^^^ I have it set to open OBS as admin by default when opening. I should note that I am using a Wireless Nintendo Switch controller, that shows as LIC pro on windows. Tried using DInput, but the triggers do not work. Was able to map every other button besides the triggers. By default, the triggers (6 and 7) were mapped to the start and select buttons (8 and 9), and did trigger those buttons.

The triggers are analog (either full, or none), but keep showing (+6 and +7) on LT and RT. The triggers are not being detected on the setup, so I tweaked the config file so the triggers are basically just copied from select and start. See screenshot


Screenshot_1.png


The triggers now work, but are of course also always triggering the select and start buttons, and doesn't detect those ones now. I don't know the value codes, but is there another value we can use for either the triggers or start/select since they are both using the same codes in my screenshot?

I have also figured out that it crashes on all of my Steam games, but not Epic Games games.
 

overdev

New Member
Are there any kind of working presets for the new version?
The old one had some included.

Do I have to create basic mouse and keyboard presets with the tool myself?
A place where some presets are uploaded for the community would be great.
 

universallp

Member
@universallp I'm trying to find the arcade stick looking Dpad texture you have here in your templates but cannot. Could I get a copy of it?
 

Calicifer

New Member
The problem which I had was that your tutorials are unclear with how to use presets. I struggled to find them and then I was applying wrong version presets. Eventually I had solved the issue, but this is where I had struggled. You had made new tutorial which might be clearer, I was following old video tutorial which completely ignores preset part.
 

universallp

Member
The problem which I had was that your tutorials are unclear with how to use presets. I struggled to find them and then I was applying wrong version presets. Eventually I had solved the issue, but this is where I had struggled. You had made new tutorial which might be clearer, I was following old video tutorial which completely ignores preset part.
What tutorial did you follow?
How do you use this if you have a dual PC setup and the controller is plugged into the gaming PC?
There's a remote connection option, but it's not very polished right now.
 
Last edited:

ryu_highabusa

New Member
Here's my custom arcade stick layout. I've only tested it with my personal button config on DOA6 but this could easily be adjusted to fit other fighting games. The arcade stick layout design was inspired by ASANOHA (pot leaves) and Astro City candy ball tops. The numbered versions are for educational purposes (numpad notation). Not only am I providing ready-to-use PNGs, here is the Inkscape SVG (https://svgshare.com/i/gJs.svg) so please feel free to make your own adjustments to suit your needs. Here's a demo video: https://www.twitch.tv/videos/1456749192?t=00h05m24s

image11379465564greenflower8b87g86g65465456434654654654.png

image11379465564pinkflower8b87g86g65465456434654654654.png

image11379465564greennumbered456465.png

image11379465564pinknumbered456465.png

image11379465564pinksimple8b87g86g65465456434654654654.png


Code:
{
    "default_width": 0,
    "default_height": 0,
    "space_h": 0,
    "space_v": 0,
    "flags": 4,
    "overlay_width": 950,
    "overlay_height": 350,
    "elements": [
        {
            "type": 0,
            "pos": [
                0,
                0
            ],
            "id": "texture0",
            "z_level": "0",
            "mapping": [
                1,
                281,
                950,
                350
            ]
        },
        {
            "type": 8,
            "pos": [
                100,
                40
            ],
            "id": "dpad1",
            "z_level": 0,
            "mapping": [
                0,
                0,
                256,
                256
            ]
        },
        {
            "type": 2,
            "pos": [
                439,
                108
            ],
            "id": "gamepad button2",
            "z_level": 0,
            "mapping": [
                1033,
                363,
                86,
                86
            ],
            "code": 60418
        },
        {
            "type": 2,
            "pos": [
                529,
                74
            ],
            "id": "gamepad button3",
            "z_level": 0,
            "mapping": [
                1127,
                363,
                86,
                86
            ],
            "code": 60419
        },
        {
            "type": 2,
            "pos": [
                625,
                74
            ],
            "id": "gamepad button4",
            "z_level": 0,
            "mapping": [
                1221,
                363,
                86,
                86
            ],
            "code": 60421
        },
        {
            "type": 2,
            "pos": [
                722,
                74
            ],
            "id": "gamepad button5",
            "z_level": 0,
            "mapping": [
                1315,
                363,
                86,
                86
            ],
            "code": 60420
        },
        {
            "type": 2,
            "pos": [
                421,
                202
            ],
            "id": "gamepad button6",
            "z_level": 0,
            "mapping": [
                1408,
                363,
                86,
                86
            ],
            "code": 60416
        },
        {
            "type": 2,
            "pos": [
                511,
                170
            ],
            "id": "gamepad button7",
            "z_level": 0,
            "mapping": [
                1502,
                363,
                86,
                86
            ],
            "code": 60417
        },
        {
            "type": 6,
            "pos": [
                607,
                170
            ],
            "id": "trigger9",
            "z_level": 0,
            "mapping": [
                1596,
                363,
                86,
                86
            ],
            "direction": 3,
            "trigger_mode": true,
            "side": 1
        },
        {
            "type": 6,
            "pos": [
                705,
                169
            ],
            "id": "trigger10",
            "z_level": 0,
            "mapping": [
                1691,
                363,
                86,
                86
            ],
            "direction": 3,
            "trigger_mode": true,
            "side": 0
        }
    ]
}

Can someone make a layout for Arcade stick?
Like this:

View attachment 51454

Eventually with 8 buttons or alternative of 6 like the picture.

I can do the graphic myself on Photoshop but there is no tutorial on how to proper code this into script to make it to work
LTTP but here you go bro
 
Last edited:

fgcdraft

New Member
I've been messing around with this and for the longest time I haven't figured out why my OBS is causing a render lag issue (where you're dropping frames on the render side). Turns out the culprit is the gamepad input overlay. The keyboard and mouse are fine, however as soon as I assign the gamepad input overlay to a controller, the render lag spikes up and I start dropping fps.

1650078884856.png


This is after assigning the input overlay to one of my controllers. It doesn't matter what controller or USB slot I use, as soon as I activate it it starts having render lag. The frame rate dips ever few seconds. Anyone else experiencing this? Is there a fix?

Also, on the input overlay settings this is my set up:
1650079208302.png


My controllers can't be detected when I use Xinput, so I have to use Dinput.
 

universallp

Member
I've been messing around with this and for the longest time I haven't figured out why my OBS is causing a render lag issue (where you're dropping frames on the render side). Turns out the culprit is the gamepad input overlay. The keyboard and mouse are fine, however as soon as I assign the gamepad input overlay to a controller, the render lag spikes up and I start dropping fps.

View attachment 82777

This is after assigning the input overlay to one of my controllers. It doesn't matter what controller or USB slot I use, as soon as I activate it it starts having render lag. The frame rate dips ever few seconds. Anyone else experiencing this? Is there a fix?

Also, on the input overlay settings this is my set up:
View attachment 82778

My controllers can't be detected when I use Xinput, so I have to use Dinput.
Yeah the pre-release has some issues. I think it has to do with retrieving data from gamepads which takes too long and therefore slows down the rendering. I don't have a fix for this currently.
 

fgcdraft

New Member
Yeah the pre-release has some issues. I think it has to do with retrieving data from gamepads which takes too long and therefore slows down the rendering. I don't have a fix for this currently.
Thanks for replying! I found out the issue is between DInput and XInput. If I use DInput, render lag happens once I assign a controller. Where as assigning a controller through XInput, there's no lag. So while It sucks my generic controller (PS1) isn't recognized on XInput, my arcade stick can, so I've been using that instead. I'm sure there's a way to get my controller through XInput, worst case I'll just get a new one that's more modern lol. This is a great plugin for OBS, thank you for making it!
 

nicholasmatt

New Member
I am a newbie with the OBS thing... I have installed this input overlay but for some reason, it is not responding to the spacebar key.. I have tested the key with the space bar counter and it works. So, the spacebar button is working and I don't know what am I doing wrong here. Can someone pls help me out here?
 

framedragged

New Member
Hi there, this is a great little plugin that I've really enjoyed so far.

I just have a couple questions/curiosities about it.

First, what's the polling rate/refresh rate on the overlay? I'm assuming it's 60 hz, but if it's the keyboard's rate and is only clipped by the monitor's refresh rate than that would be pretty awesome.

Second, what did you do to create the borders of the keys in your overlay png? I've made a custom one with different keys as I use different bindings than most people and I had a hard time directly matching the original border which was featured (the 5 pixel shear in the x-direction also took me a minute, but hey I got there). I ended up making a second layer with a one pixel larger border of each letter and airbrushed it, and it's pretty close to the original keys, but it might nag at someone who's a little more obsessive about visual details like that.

Anyway, thanks for this really cool plugin.
 

universallp

Member
First, what's the polling rate/refresh rate on the overlay? I'm assuming it's 60 hz, but if it's the keyboard's rate and is only clipped by the monitor's refresh rate than that would be pretty awesome.
There isn't really a polling rate on the plugin side, if an input happens input overlay receives the input event. The events are processed in one thread and copied every time a frame is rendered.
Second, what did you do to create the borders of the keys in your overlay png? I've made a custom one with different keys as I use different bindings than most people and I had a hard time directly matching the original border which was featured (the 5 pixel shear in the x-direction also took me a minute, but hey I got there). I ended up making a second layer with a one pixel larger border of each letter and airbrushed it, and it's pretty close to the original keys, but it might nag at someone who's a little more obsessive about visual details like that.
I used a normal rectangle in photoshop and then sheared it. You can get the psd files here https://github.com/univrsal/input-overlay/blob/master/docs/cct/layout-projects.zip
 

framedragged

New Member
Hey there, thanks for that fast reply.

There isn't really a polling rate on the plugin side, if an input happens input overlay receives the input event. The events are processed in one thread and copied every time a frame is rendered.
Really? So it's frame accurate then? That's awesome!

I used a normal rectangle in photoshop and then sheared it. You can get the psd files here https://github.com/univrsal/input-overlay/blob/master/docs/cct/layout-projects.zip
I was a little unclear I think, as I have already finished making my overlay using the presets as a guide. My question was the method you used to achieve the black border/shadow of the letters because I wanted to match it exactly for the keys I added. I matched it pretty closely, but it's not quite right. I don't think it's noticeable at the resolution the overlay would be scaled to on screen, but I'm a perfectionist and figured I'd ask. Though seeing that you used photoshop kind of renders my question pointless as I only have access to GIMP and may not be able to match it perfectly in the first place.
 

universallp

Member
Really? So it's frame accurate then? That's awesome!
I never tested it so I can't really say but https://github.com/univrsal/input-overlay/issues/185 says that it's apparently sometimes 1 frame faster.
I was a little unclear I think, as I have already finished making my overlay using the presets as a guide. My question was the method you used to achieve the black border/shadow of the letters because I wanted to match it exactly for the keys I added. I matched it pretty closely, but it's not quite right. I don't think it's noticeable at the resolution the overlay would be scaled to on screen, but I'm a perfectionist and figured I'd ask. Though seeing that you used photoshop kind of renders my question pointless as I only have access to GIMP and may not be able to match it perfectly in the first place.
It's a shadow filter which is applied to the layers. You can also open the PSD files in https://www.photopea.com/
 
Top