Input Overlay

Input Overlay v4.8

Supported Bit Versions
Source Code URL
Minimum OBS Studio Version
Supported Platforms
Windows, Linux

Input Overlay is a small plugin for obs studio that shows keyboard, mouse and gamepad inputs on stream. It adds two new source types to obs: Input Overlay and Input History

How does it work?
The plugin uses a texture and a config file to create the overlay. This means that you can configure which buttons are shown on screen, how they are arranged and how they look.
By default the plugin comes with presets for mouse, keyboard, gamepad and icons for the arrow keys.
When creating an "Input Overlay" source in obs you can then point it to either the preset files or the ones you made yourself.

Why does Input Overlay not detect input in some cases?
This is most likely caused by the application protecting its inputs for a variety of reasons. Launching obs-studio as administrator usually fixes this issue.

Video tutorial on vimeo
Installation guide on github
For Arch-based linux distros:
You can install the plugin via the AUR using the package obs-input-overlay-bin maintained by networkjanitor.

Please note:
  • If you're on a fresh installation of windows or you don't play any games there's a high chance that you don't have the Visual C++ 2015 Redistributable installed. You can get it here.
  • The plugin currently does not work with Streamlabs OBS!
  • (Windows only) Since this plugin hooks into input do not open two instances of OBS, because it will result in stuttering input. If you do need two instances run one instance as 32bit.
These values are used to let the plugin calculate the direction of your mouse movements.
Here you'll find out what values you need to use for your game.
demo_hook.exe and demo_hook_async.exe are located inside the release zip archive under the folder "util"!
Since v4.3 the plugin comes with a *.so file for OBS Studio on linux. I compiled and tested it on Manjaro.
The installation instructions included are currently incorrect.
Here's how the installation should go down for most linux distros (Note that this will install the plugin globally for all users, for user specific installation you can follow these instructions):
1. Download the latest release zip
2. Create a folder called "input-overlay" in "/usr/share/obs/obs-plugins"
3. Copy the contents of the folder "data" in "plugin-linux" into the new folder
4. Copy the file "" in "bin/64bit" into "/usr/lib/obs-plugins"
5. Install libuihook over your package manager or (only try this if compiling is not an option) download this binary and copy it into "/usr/lib" (and "usr/lib64" if necessary)

Things to note:
You need to install libuiohook manually, since I do not ship it with the plugin. Look it up in your package manager or compile it from source (Make sure to not just use sudo make install, because it offers no way of removing it again!)
For Arch and its derivatives you can get libuiohook from the AUR.
OBS Studio running with input-overlay on Manjaro (inside a VM)

Or scan it yourself:
First release
Last update
4.20 star(s) 20 ratings

More resources from universallp

Latest updates

  1. Small fixes

    NOTE: Please make sure to use the presets shipped with this version, as previous layouts do not...
  2. Smaller additions

    While I'm still working on 5.0, I also try my best to maintain the current version. I've...
  3. Input History crash fix, keyboard layout fix

    Fixed crashes when loading key icons for input history Fixed keyboard layouts having mismatching...

Latest reviews

The plugin is not compatible with Linux(Mint/Ubuntu) Libuiohook cannot be compiled as 'xt' is not available even after installing xen-tools
It should be, have you tried using my precompiled version? Also I can't support every single distribution out of the box, I can however help you get it to work
I'm very happy to use the software you've created.
We also hope to add a Fight stick user interface.
There are literally NO instructions whatsoever, and trying to find the image file it requests (even reading the comments) is infuriating so... after some searching I find it... except there is no mouse/wasd option. This is just not very well explained and honestly for someone looking for some plug and play option, this isn't it.
Did you read the plugin post at all? There's a part called "How to install and use" that might be what you're looking for, it even contains a video tutorial. I moved it further up so it's a bit easier to find.
Very nice plugin,
i made a preset, how can i upload it? it is an arrow preset as an Overlay like the "wasd-extended", with yellow background if pressing
I was wondering if this could be setup with a dual pc stream as well? To install it on the game pc and send the input over to the stream pc to preview it on stream.

Anyone knows if this is possible? If so, how?
yeah the feature is already done, but it's not included in the current version
Great piece of plugin. Work flawlessly in my laptop. Thanks.
Does the job and performs well. Thanks for this!
Does more or less what it says on the tin, though setting it up and knowing where to put the image files and so on isn't mentioned in the "installation" instructions.

One major problem/oversight, though, and the reason I'm rating it the way it is, is that the "Input History" overlay has several keyboard buttons that it doesn't register. Specifically, no punctuation marks show up when you press them.

Since I was planning to use this to make some Photoshop and other tutorials more accessible with visible keystrokes, this oversight makes the plugin unusable for me, since ctrl++, ctrl+[, etc. are common keyboard shortcuts, and none of them register. (Ironically, they do show up on the keyboard overlay, but displaying the whole keyboard on-screen at once takes up way too much screen real estate.)

It looks like I'll have to find some external solution that runs outside of OBS.
There's a tutorial video for more detailed installation instructions. Also Input history only shows keyboard shortcuts of predefined keycodes. If you want additional key names, there is an option to load a config file which maps keycodes to names:
Keycodes can be obtained by running demo_hook_async.exe in the "util" folder.
Its a good Plugin but, i dont understand the section of "2_key_row/col" i was unable to create my own keyboard
btw, still have a problem with the default presets
When i use the
Qwerty Full, this happens:
WASD Full,
And every preset is like that
Need help :C
Which version are you using? As for creating your own overlays, did you watch the tutorial video?
Really professional overlay, looks great and it's easy to configure for newcomers.