Input Overlay

Input Overlay v5.0.5

Just found input history so a little late to the mix. Anyway I can remove keys on the .ini? I just want the typical gamer wasdqer and a couple other open. Mainly for privacy for passwords and what not. Thanks!
 
Hello! I created my own textures and layout. I absolutely love the idea of showing my viewers what buttons I press! I found several problems, though: the arrow buttons completely don't appear to be pressed graphically, the graphical tool is unable to detect ` and /, the [ and ] get inverted when exporting, the middle mouse button works in the graphical tool but it stops working after exporting, and that's all of the issues I found. Again, really awesome! Soak in the compliments!

Anyways, my keyboard textures and layout were inspired by @WilliamRandol's version at https://obsproject.com/forum/threads/input-overlay.72759/page-26#post-470687. Pretty much mine is just a recolor/reskin and the colors are taken from @vesui's at https://obsproject.com/forum/threads/input-overlay.72759/page-34#post-547566. Just remember, at the moment the arrow keys won't show they're depressed. And the middle mouse button currently doesn't work and the gamepad version will arrive within the next 24 hours!
 

Attachments

  • KeyboardMouse.zip
    KeyboardMouse.zip
    444.2 KB · Views: 262
  • Keyboard Preview.png
    Keyboard Preview.png
    206.7 KB · Views: 219
  • Mouse Preview.png
    Mouse Preview.png
    55.2 KB · Views: 196
...and the gamepad version will arrive within the next 24 hours!
Alright, so the gamepad came out a little different. It needed a 3rd color so, because of that, I changed the mouse and keyboard textures. Coming up with what to change on the keyboard was pretty easy but not so much with the mouse considering it doesn't have any letters. And I like how it came out! Note: I recommend using the mouse and gamepad layout, the json file, from the presets you can download from the Overview page because you'll get the most updated overlays. Don't worry, the textures already come with the dot and arrow.

For your information, if you were confused, like I was, the images with "Preview" are not the textures you use for the overlay. Yes, when I realized my mistake, I laughed very hard about it.
 

Attachments

  • Input Overlay Preset Gray Aqua White.zip
    Input Overlay Preset Gray Aqua White.zip
    644.5 KB · Views: 259
  • Gamepad Preview.png
    Gamepad Preview.png
    136.2 KB · Views: 177
  • Keyboard Preview.png
    Keyboard Preview.png
    341.9 KB · Views: 194
  • Mouse Preview.png
    Mouse Preview.png
    59.4 KB · Views: 155
Hi @universallp . Would you happen to know if can set keypresses to display with the dpad/controller direction images? In fact if I can create an overlay/config where the keyboard presses trigger the gamepad overlay that'd be amazing.
 
Hi @universallp . Would you happen to know if can set keypresses to display with the dpad/controller direction images? In fact if I can create an overlay/config where the keyboard presses trigger the gamepad overlay that'd be amazing.
Scratch this. I think I can make do with using a preset and then editing it. One thing I'm having an issue with though is that the .json i made with the overlay tool is not recognized properly and just shows the PNG file I based it off of.

All I did was set the following keys:

Q = Left Arrow
W = Down Arrow
E = Right Arrow
Space = Up Arrow
Del = 1
End = 2
Ctrl = 3
PgDn = 4

But I end up with this:
Screenshot 2021-12-28 210600.png


The layout I tried:
1640696859923.png
 
Scratch this. I think I can make do with using a preset and then editing it. One thing I'm having an issue with though is that the .json i made with the overlay tool is not recognized properly and just shows the PNG file I based it off of.

All I did was set the following keys:

Q = Left Arrow
W = Down Arrow
E = Right Arrow
Space = Up Arrow
Del = 1
End = 2
Ctrl = 3
PgDn = 4

But I end up with this: View attachment 78427

The layout I tried: View attachment 78430
Are you using the 5.0.0 pre release? If so can you post the json file?
 
Are you using the 5.0.0 pre release? If so can you post the json file?
I found a comment on your tutorial vid saying to use it, then found it here. All's good. I've got a question though, when making PNG templates, are there specific requirements for the size of the image? I understand the 1 pixel gap bordering the whole image and then the 3 pixel minimum between and 3 pixels exact for pressed and unpressed.
 
I found a comment on your tutorial vid saying to use it, then found it here. All's good. I've got a question though, when making PNG templates, are there specific requirements for the size of the image? I understand the 1 pixel gap bordering the whole image and then the 3 pixel minimum between and 3 pixels exact for pressed and unpressed.
Those are basically all the requirements, I believe the image can't be larger than 4096x4096 because that is the maximum texture size supported.
 
Those are basically all the requirements, I believe the image can't be larger than 4096x4096 because that is the maximum texture size supported.
I see. I got it to work a bit, though sometimes it gets stuck or just stops working.

And it seems like I can't trigger the Del, End, and PgDn keys. Sometimes CTRL gets stuck. Happens after a while. For reference, I do have DCSB triggering the same keys for sounds and Razer Synapse if that matters.

All in all, kinda workable still. I appreciate what you've done with the template creator. I remember finding your project way back and having to manually do the text file. This is way better. Thank you!
 

Attachments

Hey @universallp, Thanks for the fantastic plugin! I love being able to show keyboard inputs while I'm playing, especially in games where there are a lot of keybinds to remember!

I'm running into a problem when I try to setup the overlays for my joysticks, though.

I play space simulators with a dual joystick configuration. I can get X and Y input for my right handed stick, but I'm not able to get any input from it's Z-axis, and I am unable to select an input for my my left-handed joystick. Is this something that would be possible to do with the current plugin? Do I need to modify the inputs or set a custom keybinding?

I'm attaching an example of the type of interface I'm trying to show.
 

Attachments

  • dual-stick-example.png
    dual-stick-example.png
    11.9 KB · Views: 142
Hey @universallp, Thanks for the fantastic plugin! I love being able to show keyboard inputs while I'm playing, especially in games where there are a lot of keybinds to remember!

I'm running into a problem when I try to setup the overlays for my joysticks, though.

I play space simulators with a dual joystick configuration. I can get X and Y input for my right handed stick, but I'm not able to get any input from it's Z-axis, and I am unable to select an input for my my left-handed joystick. Is this something that would be possible to do with the current plugin? Do I need to modify the inputs or set a custom keybinding?

I'm attaching an example of the type of interface I'm trying to show.
No clue sorry, I only have a normal gamepad which is all I've used for testing.
 
TL:DR
It seems, for sending inputs remotely, the plugin (unfortunately) has to run an OBS on the gaming machine to act as a server? if i get that correctly, i would like to ask if the server can send it without an OBS running, as you know the best part of dual pc streaming is not sharing resources between the game and OBS...

The Longer version of that text:
hi there, i have been using your plugin since the early days, it was tricky to customize but i was able to achieve what ever look and feel i wanted. The usage of an input overlay was beneficial for me more than my viewers, as i was able to replay any bad passes or shots and see if my inputs were correct and check if i was right on blaming the game's code instead of my abilities...
1641889632091.png

see the preview, i was using it for football games hence the chalk style outlines with minimal ui! I basically deleted most of the overlay gfx and added checlky outlines to it. what extra i had to do was, I had to use two circular lines as a background undernearth the overlay so that it was more readable of how far the analogs were pushed.If i did not do that, there were not elements on the overlay to understand how far and the directionality of the analogs pushed.


Anyways... as the plugins was working great already, i never had to check for updates apart from the initial review. I was using ds4windows.exe for both gaming and streaming machines where i connected to gaming pc through usb cable while using bluetooth for sending inputs to streaming pc.

Lately, i stopped using the input overlay due to lack of games needing them but also the requirement of a usb cable hassle for dual pc streaming usage.

Now i have read that you can actually achieve remote sending of inputs, does this mean , we just have to launch the client32/64.exe in the gaming pc while plugin receives it in the OBS? or is it like the gaming pc needs an obs running to send inputs? I just started the client64.exe and either the exe crashed rapidly or there are some things that i am missing...

I will further test things out and update my post if it really can send inputs to streaming pc without an obs running (so only obs for receiving on streaming pc)
 
Last edited:
TL:DR
It seems, for sending inputs remotely, the plugin (unfortunately) has to run an OBS on the gaming machine to act as a server? if i get that correctly, i would like to ask if the server can send it without an OBS running, as you know the best part of dual pc streaming is not sharing resources between the game and OBS...

The Longer version of that text:
hi there, i have been using your plugin since the early days, it was tricky to customize but i was able to achieve what ever look and feel i wanted.
View attachment 78952
see the preview, i was using it for football games hence the chalk style outlines with minimal ui! I basically deleted most of the overlay gfx and added checlky outlines to it. what extra i had to do was, I had to use two circular lines as a background undernearth the overlay so that it was more readable of how far the analogs were pushed.If i did not do that, there were not elements on the overlay to understand how far and the directionality of the analogs pushed.


Anyways... as the plugins was working great already, i never had to check for updates apart from the initial review. I was using ds4windows.exe for both gaming and streaming machines where i connected to gaming pc through usb cable while using bluetooth for sending inputs to streaming pc.

Lately, i stopped using the input overlay due to lack of games needing them but also the requirement of a usb cable hassle for dual pc streaming usage.

Now i have read that you can actually achieve remote sending of inputs, does this mean , we just have to launch the client32/64.exe in the gaming pc while plugin receives it in the OBS? or is it like the gaming pc needs and obs running to send inputs? I just started the client64.exe and either the exe crashed rapidly or there are some things that i am missing...

I will further test things out and update my post if it really can send inputs to streaming pc without an obs running (so only obs for receiving on streaming pc)
You don't need to have obs run on the gaming pc, you just need the client application
It doesn't have a gui, so you'll need to use the command line.
 
You don't need to have obs run on the gaming pc, you just need the client application
It doesn't have a gui, so you'll need to use the command line.
Hello, very pleased to read that the the exe can send without an obs running on server!
I was gonna try using it but third times in a row, the plugin on the streamer pc side had consistent crashes.

this crash occurred after i set it up with preset configurations, then go to menu item (in obs)"tools\input-overlay configuration\remote connection" and enable "remote connection" , when i hit "reload" to detect any running "senders. the reload button hangs in "pressed down"" mode and
https://obsproject.com/logs/7LbwI8ihM5X7kKIk
and another by the same steps.

may be a firewall problem.? windows default firewall usage, same freeze and crash...

also ran on a portable OBS with zero other plugins
log file shows: https://obsproject.com/logs/362CrZMReLijC2lz
"20:36:59.427: LoadLibrary failed for '../../obs-plugins/64bit/obs-browser.dll': The specified module could not be found.
20:36:59.427: (126)
20:36:59.427: Module '../../obs-plugins/64bit/obs-browser.dll' not loaded"
some prerequisite is missing?
i tried to install both VC_redist.x86 and VC_redist.x64 , the installers complained about newer versions installed.



also; i need clarify these:
1:this command will be run on the gaming pc: that will send the inputs to another computer. no obs needed.
"C:\Users\username\Desktop\client.x64.exe 192.168.1.44 raven 1608 --gamepad=1".
the ip that comes after .exe should belong to the receiving pc (streaming pc) and the name should any name of the gaming pc for identification.
currently if i do this i get "netlib_tcp_open failed: Couldn't connect to remote host" (maybe because streamer pc crashes on network "reload" at the moment.
 
Last edited:
Hello, very pleased to read that the the exe can send without an obs running on server!
I was gonna try using it but third times in a row, the plugin on the streamer pc side had consistent crashes.

this crash occurred after i set it up with preset configurations, then go to menu item (in obs)"tools\input-overlay configuration\remote connection" and enable "remote connection" , when i hit "reload" to detect any running "senders. the reload button hangs in "pressed down"" mode and
https://obsproject.com/logs/7LbwI8ihM5X7kKIk
and another by the same steps.

may be a firewall problem.? windows default firewall usage, same freeze and crash...

Before testing any further i need clarify these:
1:this command will be run on the gaming pc: that will send the inputs to another computer. no obs needed.
"C:\Users\username\Desktop\client.x64.exe 192.168.1.44 raven 1608 --gamepad=1".
the ip that comes after .exe should belong to the receiving pc (streaming pc) and the name should any name of the gaming pc for identification.
currently if i do this i get "netlib_tcp_open failed: Couldn't connect to remote host" (maybe because streamer pc crashes on network "reload" at the moment.
You need to restart obs first after enabling the remote connection. I guess clicking refresh before that causes a crash. Don't expect too much though, the remote connection is a bit unreliable right now
 
You need to restart obs first after enabling the remote connection. I guess clicking refresh before that causes a crash. Don't expect too much though, the remote connection is a bit unreliable right now
yes that was definitely the case, if hit refresh without restarting OBS, the plugins or obs can not request a connection from the firewall, a restart is a must , a warning pop up can be implemented if possible

once i ran the client.exe , i can get some inputs finally but it is acting weird i agree.

the inputs received have analog sticks off center, and not consistent. it s like it show whatever it gets at that time in a 100 to 900ms refresh fashion.

i get two messages from client
error: Couldn't read bindings from './bindings.json'
and other warning is:
hook_run [661]: hInst was not set by DllMain().

other than that, i get also
info: Hook thread started
[ uiohook::dispatch_proc:065]: uiohook started

ps: unfortunately, i am using ds4windows in xinput mode , now i will begin testing with unemulated genuine xbox gamepad first.


Update:
I plugged a proper xbox controller to gaming pc, restart the client.exe, reconfigured the source to receive from the proper controller. My impression, the updates are not accurate, and there are some problems after 20 or more actions, for example the d-pad right is still on hold mode, if i hold LS up, both sticks go up and LT seems still pressed down.

update 2:
I gave up on remote sending for the time being as it is nowhere near comparable to the usb (local) implementation consistency wise.

question : I have loaded the newest preset and the overlay files that are compatible with this plugin.(on the github) , i am having strange alpha problems. any ideas ?
1641929500054.png
 
Last edited:
Not sure if this thread is still active, but I have been looking for a preset with only arrow keys for a few hours now, and can't find one anywhere. I tried making my own using the ones from the "qwerty-arrows" preset, but it went over my head and I couldn't get it to work. I would appreciate any help! Thanks in advance!
 
yes that was definitely the case, if hit refresh without restarting OBS, the plugins or obs can not request a connection from the firewall, a restart is a must , a warning pop up can be implemented if possible

once i ran the client.exe , i can get some inputs finally but it is acting weird i agree.

the inputs received have analog sticks off center, and not consistent. it s like it show whatever it gets at that time in a 100 to 900ms refresh fashion.

i get two messages from client
error: Couldn't read bindings from './bindings.json'
and other warning is:
hook_run [661]: hInst was not set by DllMain().

other than that, i get also
info: Hook thread started
[ uiohook::dispatch_proc:065]: uiohook started

ps: unfortunately, i am using ds4windows in xinput mode , now i will begin testing with unemulated genuine xbox gamepad first.


Update:
I plugged a proper xbox controller to gaming pc, restart the client.exe, reconfigured the source to receive from the proper controller. My impression, the updates are not accurate, and there are some problems after 20 or more actions, for example the d-pad right is still on hold mode, if i hold LS up, both sticks go up and LT seems still pressed down.

update 2:
I gave up on remote sending for the time being as it is nowhere near comparable to the usb (local) implementation consistency wise.

question : I have loaded the newest preset and the overlay files that are compatible with this plugin.(on the github) , i am having strange alpha problems. any ideas ?View attachment 78970
Do you have a filter on the input overlay source? Or is the source inside a group or something that has a filter?
Not sure if this thread is still active, but I have been looking for a preset with only arrow keys for a few hours now, and can't find one anywhere. I tried making my own using the ones from the "qwerty-arrows" preset, but it went over my head and I couldn't get it to work. I would appreciate any help! Thanks in advance!
Did you watch the tutorial for the config tool?
 
Back
Top