Input-overlay - Show keyboard, gamepad and mouse input on stream

Overview

logo

CI

Show keyboard, mouse and gamepad input on stream.
Available for OBS Studio 19.0.3+ on windows (32bit/64bit) and linux (64bit). Head over to releases for binaries.

Wiki

Installation

Credits

input-overlay depends on libuiohook by kwhat licensed under the GNU General Public License v3.0, mongoose licensed under the GNU General Public License v2.0, my SDL_net fork netlib licensed under the zlib license and my gamepad hook libgamepad licensed under the GNU LESSER GENERAL PUBLIC LICENSE .

More Information:

Comments
  • Input History Missing

    Input History Missing

    I just learned about input overlay and input history. I am very interested in input history for when I teach software but input overlay when I play games. Is there a reason why input history is not available in the latest 5.0 release? And, how can I get it?

    opened by jcdied4me 35
  • Wrong Layout // offset wrong

    Wrong Layout // offset wrong

    What happened: obs64_2018-02-21_19-25-18

    What was supposed to happen: ... you shall know it.

    Log file: 2018-02-21 19-23-08.txt

    BTw... i would prefer a QWERTZ-Layout.... don't do american QWERTY only ;)

    opened by Hedrauta 22
  • D-pad not detected under Linux

    D-pad not detected under Linux

    Describe the bug In v5 prerelease all functions work except d-pad. On v4.8 the d-pad is detected normally.

    To Reproduce Steps to reproduce the behavior: set up as usual, see that d-pad does not work

    Expected behavior D-pad works

    Additional information:

    • Plugin version: 5.0.0rc1
    • Full OBS Studio log: https://pastebin.com/raw/pryXkQjA

    Additional context Problem seems to have been introduced post-4.8

    opened by GameKyuubi 18
  • Not loading config json properly

    Not loading config json properly

    Describe the bug When setting up the input overlay source, all works as expected, except when inputting the .json configuration file, the source image stays, and does not move in response to the json file

    To Reproduce

    1. Set up the source as you normally would
    2. Witness it not follow the json's guidelines

    Expected behavior I expected the plugin to work as intended

    Screenshots image

    Additional information:

    • Plugin version: latest from AUR as of 12/29/21
    • Full OBS Studio log: https://obsproject.com/logs/QCDlkgFWtIWb1TZb

    Additional context i refreshed it via the web tool, just to see if the JSON was at fault, and it gave me the same thing This works fine on windows on the same machine, but not on linux this worked on my previous manjaro instlall but not on this arch install

    opened by headassbtw 17
  • 5.0 does not recognise Xbox One gamepad

    5.0 does not recognise Xbox One gamepad

    This is the first time I installed this plugin, so no old configuration is laying around anywhere. Also means it's not particularly urgent :) I didn't try the older version because the required lib doesn't seem to be in the Fedora repos.

    Does the new version require any libs to be installed? The .so seems to load fine in the logs and the Wiki doesn't say anything about it from what I've seen.

    Describe the bug When adding an overlay, my Xbox One Controller is not being shown in the list of available gamepads, reloading gamepads also does not help. The gamepad itself works in various games as well as Steam (Big Picture), Kodi, and AntiMicro, so I would assume it's not the pad :)

    To Reproduce

    • plug in XBO controller (mine is a model 1537, the first one released)
    • start OBS
    • add Overlay
    • select imageand config
    • try selecting Gamepad id -> it's empty

    Expected behavior The gamepad to show up and show inputs ;)

    Screenshots image

    Additional information:

    • 5.0 Pre release
    • https://obsproject.com/logs/ZQt87b6P2l3UixIF

    Additional context lsusb output in case it's relevant:

    [[email protected]]~% lsusb -d 045e:02d1 -v
    
    Bus 005 Device 011: ID 045e:02d1 Microsoft Corp. Xbox One Controller
    Couldn't open device, some information will be missing
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass          255 Vendor Specific Class
      bDeviceSubClass        71 
      bDeviceProtocol       208 
      bMaxPacketSize0        64
      idVendor           0x045e Microsoft Corp.
      idProduct          0x02d1 Xbox One Controller
      bcdDevice            1.01
      iManufacturer           1 
      iProduct                2 
      iSerial                 3 
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength       0x0060
        bNumInterfaces          3
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0xa0
          (Bus Powered)
          Remote Wakeup
        MaxPower              500mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass     71 
          bInterfaceProtocol    208 
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x01  EP 1 OUT
            bmAttributes            3
              Transfer Type            Interrupt
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               4
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            3
              Transfer Type            Interrupt
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               4
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        1
          bAlternateSetting       0
          bNumEndpoints           0
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass     71 
          bInterfaceProtocol    208 
          iInterface              0 
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        1
          bAlternateSetting       1
          bNumEndpoints           2
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass     71 
          bInterfaceProtocol    208 
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x02  EP 2 OUT
            bmAttributes            1
              Transfer Type            Isochronous
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x00e4  1x 228 bytes
            bInterval               1
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x82  EP 2 IN
            bmAttributes            1
              Transfer Type            Isochronous
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x00e4  1x 228 bytes
            bInterval               1
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        2
          bAlternateSetting       0
          bNumEndpoints           0
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass     71 
          bInterfaceProtocol    208 
          iInterface              0 
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        2
          bAlternateSetting       1
          bNumEndpoints           2
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass     71 
          bInterfaceProtocol    208 
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x03  EP 3 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x83  EP 3 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
    

    What type of id does that field expect and can I fill it out manually? I tried the /dev path (shown in KDE's settings), and the Vendor/Product ID from lsubs, but no luck.

    opened by mihawk90 17
  • Issue regarding Arrow Keys

    Issue regarding Arrow Keys

    Arrow keys, when assigned in the io-cct tool work properly, but once imported as a .JSON file into OBS incorrectly read as the NUMPAD arrow keys rather than the regular arrow keys.

    To Reproduce Steps to reproduce the behavior: using a pre-existing overlay, attempt to assign anything to any of the arrow keys by having it read the arrow keys as inputs. test to verify it works in io-cct, then import into OBS Studio

    Expected behavior buttons to function when regular arrow keys are pressed.

    Additional information:

    • Plugin version: 5.0.0
    • Full OBS Studio log https://obsproject.com/logs/RnAtUf4ztS3eG69i
    opened by Grt-sc 17
  • Unable to run with snap package version of OBS-Studio

    Unable to run with snap package version of OBS-Studio

    Describe the bug With the snap package version of OBS-Studio the libuiohook.so.0 library will have no valid place to load from. Snap packages install to a readonly filesystem that you can not add files to, this is for security/sandboxing.

    To Reproduce

    1. Depending on distro: apt install snapd
    2. snap install obs-studio
    3. cd ~/snap/obs-studio/current/.config/obs-studio
    4. mkdir -p plugins/input-overlay && cd plugins/input-overlay
    5. wget https://github.com/univrsal/input-overlay/releases/download/v4.8/input-overlay.v4.8b.linux64.zip
    6. unzip input-overlay.v4.8b.linux64.zip
    7. rm LICENSE.txt input-overlay.v4.8b.linux64.zip README.txt
    8. mv plugin/* ./
    9. Open obs
    10. Help -> Log Files -> View Current Log

    kl. 04.45 +0100.449: os_dlopen(/home/thomas/snap/obs-studio/731/.config/obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so->/home/thomas/snap/obs-studio/731/.config/obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so): libuiohook.so.0: cannot open shared object file: No such file or directory kl. 04.45 +0100.449: kl. 04.45 +0100.449: Module '/home/thomas/snap/obs-studio/731/.config/obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so' not loaded

    Expected behavior If the library is included and loaded from a known path in the plugin folder the issue should go away.

    Screenshots N / A

    Additional information:

    • Plugin version v4.8b
    • Full OBS Studio write_log

    kl. 04.45 +0100.086: Command Line Arguments: --startreplaybuffer kl. 04.45 +0100.105: CPU Name: AMD Ryzen 5 2600X Six-Core Processor kl. 04.45 +0100.105: CPU Speed: 3174.777MHz kl. 04.45 +0100.106: Physical Cores: 6, Logical Cores: 12 kl. 04.45 +0100.106: Physical Memory: 16030MB Total, 2961MB Free kl. 04.45 +0100.106: Kernel Version: Linux 5.0.0-31-generic kl. 04.45 +0100.106: Distribution: "Ubuntu Core" "18" kl. 04.45 +0100.107: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.4 kl. 04.45 +0100.108: Portable mode: false kl. 04.45 +0100.191: OBS 24.0.3 (linux) kl. 04.45 +0100.191: --------------------------------- kl. 04.45 +0100.192: --------------------------------- kl. 04.45 +0100.192: audio settings reset: kl. 04.45 +0100.192: samples per sec: 48000 kl. 04.45 +0100.192: speakers: 2 kl. 04.45 +0100.196: --------------------------------- kl. 04.45 +0100.196: Initializing OpenGL... kl. 04.45 +0100.343: Loading up OpenGL on adapter NVIDIA Corporation GeForce GTX 1070 Ti/PCIe/SSE2 kl. 04.45 +0100.343: OpenGL loaded successfully, version 3.2.0 NVIDIA 430.50, shading language 1.50 NVIDIA via Cg compiler kl. 04.45 +0100.354: --------------------------------- kl. 04.45 +0100.354: video settings reset: kl. 04.45 +0100.354: base resolution: 2560x1440 kl. 04.45 +0100.354: output resolution: 2560x1440 kl. 04.45 +0100.354: downscale filter: Bicubic kl. 04.45 +0100.354: fps: 60/1 kl. 04.45 +0100.354: format: NV12 kl. 04.45 +0100.354: YUV mode: 601/Partial kl. 04.45 +0100.354: NV12 texture support not available kl. 04.45 +0100.354: Audio monitoring device: kl. 04.45 +0100.354: name: Default kl. 04.45 +0100.354: id: default kl. 04.45 +0100.354: --------------------------------- kl. 04.45 +0100.355: Failed to load 'en-US' text for module: 'decklink-ouput-ui.so' kl. 04.45 +0100.438: No blackmagic support kl. 04.45 +0100.444: NVENC supported kl. 04.45 +0100.444: FFMPEG VAAPI supported kl. 04.45 +0100.449: VLC found, VLC video source enabled kl. 04.45 +0100.449: os_dlopen(/home/thomas/snap/obs-studio/731/.config/obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so->/home/thomas/snap/obs-studio/731/.config/obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so): libuiohook.so.0: cannot open shared object file: No such file or directory kl. 04.45 +0100.449: kl. 04.45 +0100.449: Module '/home/thomas/snap/obs-studio/731/.config/obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so' not loaded kl. 04.45 +0100.449: --------------------------------- kl. 04.45 +0100.449: Loaded Modules: kl. 04.45 +0100.449: vlc-video.so kl. 04.45 +0100.449: text-freetype2.so kl. 04.45 +0100.449: rtmp-services.so kl. 04.45 +0100.449: obs-x264.so kl. 04.45 +0100.449: obs-transitions.so kl. 04.45 +0100.449: obs-outputs.so kl. 04.45 +0100.449: obs-libfdk.so kl. 04.45 +0100.449: obs-filters.so kl. 04.45 +0100.449: obs-ffmpeg.so kl. 04.45 +0100.449: linux-v4l2.so kl. 04.45 +0100.449: linux-pulseaudio.so kl. 04.45 +0100.449: linux-jack.so kl. 04.45 +0100.449: linux-decklink.so kl. 04.45 +0100.449: linux-capture.so kl. 04.45 +0100.449: linux-alsa.so kl. 04.45 +0100.449: image-source.so kl. 04.45 +0100.449: frontend-tools.so kl. 04.45 +0100.449: decklink-ouput-ui.so kl. 04.45 +0100.449: --------------------------------- kl. 04.45 +0100.449: ==== Startup complete =============================================== kl. 04.45 +0100.452: All scene data cleared kl. 04.45 +0100.452: ------------------------------------------------ kl. 04.45 +0100.455: pulse-input: Server name: 'pulseaudio 12.2' kl. 04.45 +0100.456: pulse-input: Audio format: s32le, 48000 Hz, 2 channels kl. 04.45 +0100.456: pulse-input: Started recording from 'alsa_output.pci-0000_08_00.3.analog-stereo.monitor' kl. 04.45 +0100.456: pulse-input: Server name: 'pulseaudio 12.2' kl. 04.45 +0100.456: pulse-input: Audio format: s16le, 48000 Hz, 2 channels kl. 04.45 +0100.456: pulse-input: Started recording from 'alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_REV8-00.analog-stereo' kl. 04.45 +0100.459: pulse-input: Server name: 'pulseaudio 12.2' kl. 04.45 +0100.460: pulse-input: Audio format: float32le, 48000 Hz, 2 channels kl. 04.45 +0100.460: pulse-input: Started recording from 'CommNullSink.monitor' kl. 04.45 +0100.460: pulse-input: Server name: 'pulseaudio 12.2' kl. 04.45 +0100.461: pulse-input: Audio format: float32le, 48000 Hz, 2 channels kl. 04.45 +0100.461: pulse-input: Started recording from 'GameNullSink.monitor' kl. 04.45 +0100.468: xshm-input: Geometry 2560x1440 @ 2560,0 kl. 04.45 +0100.476: xshm-input: Geometry 2560x1440 @ 0,8 kl. 04.45 +0100.482: xshm-input: Geometry 2560x1440 @ 5120,0 kl. 04.45 +0100.483: Switched to scene 'ingame' kl. 04.45 +0100.483: ------------------------------------------------ kl. 04.45 +0100.483: Loaded scenes: kl. 04.45 +0100.483: - scene 'ingame': kl. 04.45 +0100.484: - source: 'Game Audio' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - source: 'Voice Comms' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - filter: 'Compressor' (compressor_filter) kl. 04.45 +0100.484: - filter: 'Noise Suppression' (noise_suppress_filter) kl. 04.45 +0100.484: - source: 'Csgo Video' (xcomposite_input) kl. 04.45 +0100.484: - scene 'desktop main': kl. 04.45 +0100.484: - source: 'Game Audio' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - source: 'Voice Comms' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - filter: 'Compressor' (compressor_filter) kl. 04.45 +0100.484: - filter: 'Noise Suppression' (noise_suppress_filter) kl. 04.45 +0100.484: - source: 'Main Screen' (xshm_input) kl. 04.45 +0100.484: - scene 'desktop left': kl. 04.45 +0100.484: - source: 'Game Audio' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - source: 'Voice Comms' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - filter: 'Compressor' (compressor_filter) kl. 04.45 +0100.484: - filter: 'Noise Suppression' (noise_suppress_filter) kl. 04.45 +0100.484: - source: 'Left Screen' (xshm_input) kl. 04.45 +0100.484: - scene 'desktop right': kl. 04.45 +0100.484: - source: 'Game Audio' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - source: 'Voice Comms' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - filter: 'Compressor' (compressor_filter) kl. 04.45 +0100.484: - filter: 'Noise Suppression' (noise_suppress_filter) kl. 04.45 +0100.484: - source: 'Right Screen' (xshm_input) kl. 04.45 +0100.484: - scene 'desktop all': kl. 04.45 +0100.484: - source: 'Game Audio' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - source: 'Voice Comms' (pulse_output_capture) kl. 04.45 +0100.484: - filter: 'Limiter' (limiter_filter) kl. 04.45 +0100.484: - filter: 'Compressor' (compressor_filter) kl. 04.45 +0100.484: - filter: 'Noise Suppression' (noise_suppress_filter) kl. 04.45 +0100.484: - source: 'Desktop All' (group) kl. 04.45 +0100.484: - source: 'Right Screen' (xshm_input) kl. 04.45 +0100.484: - source: 'Main Screen' (xshm_input) kl. 04.45 +0100.484: - source: 'Left Screen' (xshm_input) kl. 04.45 +0100.484: ------------------------------------------------ kl. 04.45 +0100.573: --------------------------------- kl. 04.45 +0100.573: [NVENC encoder: 'recording_h264'] settings: kl. 04.45 +0100.573: rate_control: CBR kl. 04.45 +0100.573: bitrate: 50000 kl. 04.45 +0100.573: cqp: 0 kl. 04.45 +0100.573: keyint: 250 kl. 04.45 +0100.573: preset: hq kl. 04.45 +0100.573: profile: high kl. 04.45 +0100.573: width: 2560 kl. 04.45 +0100.573: height: 1440 kl. 04.45 +0100.573: 2-pass: true kl. 04.45 +0100.573: b-frames: 2 kl. 04.45 +0100.573: GPU: 0 kl. 04.45 +0100.573: kl. 04.45 +0100.747: libfdk_aac encoder created kl. 04.45 +0100.748: libfdk_aac bitrate: 160, channels: 2 kl. 04.45 +0100.748: libfdk_aac encoder created kl. 04.45 +0100.748: libfdk_aac bitrate: 160, channels: 2 kl. 04.45 +0100.748: libfdk_aac encoder created kl. 04.45 +0100.748: libfdk_aac bitrate: 160, channels: 2 kl. 04.45 +0100.748: libfdk_aac encoder created kl. 04.45 +0100.748: libfdk_aac bitrate: 160, channels: 2 kl. 04.45 +0100.748: libfdk_aac encoder created kl. 04.45 +0100.748: libfdk_aac bitrate: 160, channels: 2 kl. 04.45 +0100.748: libfdk_aac encoder created kl. 04.45 +0100.748: libfdk_aac bitrate: 160, channels: 2 kl. 04.45 +0100.750: ==== Replay Buffer Start =========================================== kl. 04.45 +0100.001: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux) kl. 04.45 +0100.001:

    opened by thomasfinstad 17
  • Some keys don't show up on Input-History

    Some keys don't show up on Input-History

    Hi friend,

    The keys: Insert, Delete, Home, End, PageUp, PageDown Don't show up on Input-History using plain text.

    The last version they've been working at was version 4.0 and they only showed the hex values, not the key names.

    Thank you so much for this plug-in 🙏

    opened by RoyZ7 16
  • Creates a huge empty overlay since 4.8b

    Creates a huge empty overlay since 4.8b

    Hello,

    I've updated the plugin to 4.8b and tried to load a new preset, but it only creates a huge overlay with no content in it. It was working fine with 4.7.4b. Loading an older version preset in the new version also works. I'm using KDE Neon.

    ezgif-4-fa707d99576c

    opened by n4ndee 16
  • Bug Does Not Apear on OBS

    Bug Does Not Apear on OBS

    When I create an Input Overlay and i put the .INI it gets Transparenrt and does not detect anything. The image I put for it desappears.

    Captura de pantalla (51) Captura de pantalla (52) Captura de pantalla (53) Captura de pantalla (54) Captura de pantalla (55) Captura de pantalla (56) Captura de pantalla (57)

    Additional information: OBS 25.0.1 64bits Input Overlay 4.8

    opened by AlphaNMC1999 15
  • Icon misplacement

    Icon misplacement

    Describe the bug When I try to load the qwerty preset from the release zip it doesn't show up properly. Same with some of the presets like wasd-full, qwerty-arrows, wasd-extended. Some of the key icons are misplaced

    To Reproduce OS: Linux Mint 18.2 'Sonya' 64bit Latest libuiohook (1.1 branch) OBS version: 22.0.0

    Load plugin and load freshly compiled libuiohook Create a new scene, add Input Overlay, load qwerty icons and .ini file.

    Expected behavior The keys are misplaced and on some presets there are some weird borders

    Screenshots qwerty screensshot_2018-10-14_18-49-58 wasd-full screensshot_2018-10-14_18-54-46 wasd-extended-numeric screensshot_2018-10-14_18-55-57

    Additional information:

    • Plugin version: 4.7.4b
    • Full OBS Studio log: https://gist.github.com/szymex73/2e0f8e1de2fdd40bf83dbde46b8b0428

    Additional context No additional info. If anything is needed just tell below

    opened by szymex73 14
  • Feature: Add delay and fade effect

    Feature: Add delay and fade effect

    This is a request for 2 features to be added. I find the overlay key flash really quickly.

    It would be nice to have a configurable delay (in milliseconds) and then have the overlay return to it's unpressed state. Also having a fade effect, which could be a boolean option would be nice.

    As a resut of adding a delay. When a key is pressed rapidly, you would not see the presses, only its on state. One way around this would be to fade the overlay by a certain percentage quickly, then begin the delay counter. This way, you would notice rapid keypress by the intensity of the overlay.

    Would love to see at least a delay option added.

    opened by rajinder-yadav 0
  • Switch to SDL2 for gamepad input

    Switch to SDL2 for gamepad input

    As #297 has shown SDL2 fixes basically all issues we've had with different types of gamepads. This PR will switch both the client as well as the plugin to using SDL2 instead of the old gamepad library.

    Things left to do:

    • [x] Switch plugin to sdl2
    • [x] Get basic detection and buttons working
    • [ ] Switch client to sdl2
    • [x] Fix analog sticks, triggers, player id
    • [x] Remove duplicate mutex in input_data and local input data
    • [x] Remove unused last_* event data
    • [x] Cleanup data synchronisation
    • [ ] Cleanup gamepad hook code
    • [ ] Convert gamepad layouts to new keycodes
    • [x] Use new keycodes in cct
    opened by univrsal 0
  • Mouse and keyboard issues

    Mouse and keyboard issues

    This issue accumulates all issues with mouse and keyboard buttons/mappings.

    #247 Apparently an issue with the preset (fixed in #100)

    #266 Side mouse button swapped (These mapping issues might not be really fixable as "swapped" for one person could be the correct order for others and therefore a separate layout with swapped side buttons would probably just be better)

    #209 Tilde key not registering on uk qwerty. This was on v4.8 so maybe the new uiohook version already fixed this. #216 Tilde key not working on us qwerty.

    #201 ü, ö, ä not working (io-cct probably not returning the correct keycodes

    #180 Right mouse button and middle mouse button swapped

    #174 Arrow keys issue as well as numpad/function keys (delete, insert etc.) (Related PR for libuiohook)

    #187 Tilde, left super/meta/windows key, side mouse buttons

    Just like with the gamepad issues, I'll close the individual issues and use this one to track their progress

    These issues leave the following keys/buttons to test:

    • Tilde (us and uk qwerty), Left Super/Meta/Windows key,
    • Side mouse buttons (swapped)
    • Middle mouse button and right mouse button swapped
    opened by univrsal 3
  • Gamepad issues

    Gamepad issues

    I've just finished some tests with SDL2, and it seems like I could replace the gamepad library with it. Before I do that, it would be good to have some people test SDL2 with their game pads to see if the mappings are working. SDL2 is used in a lot of games so I assume there shouldn't be any issues. I've attached the SDL2 gamepad test.

    sdl2.gamepadtest.zip image Holding shift will show the back of the controller with additional buttons.

    I'll also close all gamepad related issues and we'll just use this issue to collect information regarding gamepads.

    SDL2 tests so far

    Previous gamepad issues: #294

    • LT + RT should be representable with buttons (Not an issue with mappings, but rather something I'd need to change in input overlay)
    • There should be an option for a "capture" or "share" button alongside the "guide" button since newer controllers also have this button. Not super important, but, might as well be a thing. (I assume SDL2 has this)

    #286, #253 Should be fixed when using SDL2 #260 Should work with SDL2, if not I won't spend any additional time on this for now #208 Apparently a crash with the gamepad library, should be fixed when using SDL2. #195, #191 Mapping/ D-Pad issue should be fixed with SDL2 #183 SDL2 should support xbox one gamepads just fine #175 More mapping issues once again SDL2 should handle them correctly #241 Another dpad issue #116 General issue with gamepad being detected #213 Razer Rajiu not being detected, apparently that is a controller, so sdl will most likely handle it just fine.

    Semi related issues: #285 The incorrect position of the analog sticks is an issue with the library using different value ranges for linux and windows #199 The binding tab will be removed as sdl2 should take care of correct bindings

    opened by univrsal 15
  • io_client.exe not present in release.

    io_client.exe not present in release.

    Describe the bug io_client.exe not present in the installation zip of release 5.0.0.

    To Reproduce Download windows installation zip files for 5.0.0. Notice no util folder.

    Expected behavior There should be a util folder with an io_client.exe present as described on the wiki.

    Screenshots N/A.

    Additional information:

    • Plugin version: 5.0.0
    • OBS Version: not needed.

    Additional context If we have to clone and compile locally for io_client.exe functionality; it would be helpful to update the documentation.

    opened by crstalli 0
Releases(v5.0.0)
Owner
Alex
game engineering student, vrsal.xyz/gpg
Alex
C/C++ library for converting a stream of OPL FM synth chip commands to the OPB music format

OPBinaryLib C/C++ library for converting a stream of OPL FM synth chip commands to the OPB music format Basic usage Store your OPL commands as a conti

Emma Maassen 10 Feb 2, 2022
C library for cross-platform real-time audio input and output

libsoundio C library providing cross-platform audio input and output. The API is suitable for real-time software such as digital audio workstations as

Andrew Kelley 1.6k Jan 6, 2023
Libsio - A runtime library for Speech Input (stt) & Output (tts)

libsio A runtime library for Speech Input (stt) & Output (tts) Speech To Text unified CTC and WFST decoding via beam search online(streaming) decoding

null 26 Nov 24, 2022
🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)

Verovio is a fast, portable and lightweight library for engraving Music Encoding Initiative (MEI) digital scores into SVG images. Verovio also contain

RISM Switzerland 519 Jan 1, 2023
Audacity is an easy-to-use, multi-track audio editor and recorder for Windows, Mac OS X, GNU/Linux and other operating systems

Audacity is an easy-to-use, multi-track audio editor and recorder for Windows, Mac OS X, GNU/Linux and other operating systems. Audacity is open source software licensed under GPL, version 2 or later.

Audacity 8.7k Dec 31, 2022
Sneedacity (formerly Audacity) is an easy-to-use, multi-track audio editor and recorder for Windows, Mac OS X, GNU/Linux and other operating systems.

Sneedacity (formerly Audacity) is an easy-to-use, multi-track audio editor and recorder for Windows, Mac OS X, GNU/Linux and other operating systems. Sneedacity is open source software licensed under GPL, version 2 or later.

Sneed's Feed & Seed 874 Dec 30, 2022
HamMessenger is a portable device that uses a ham radio and the APRS protocol as a medium to send and receive text messages.

HamMessenger is a portable, battery powered device that runs on a microcontroller and interfaces with an inexpensive ham radio to send and receive text messages and provide position updates using the APRS protocol. Messages and position updates sent via HamMessenger can be viewed on sites such as aprs.fi. HamMessenger messages are NOT encrypted!

null 210 Dec 13, 2022
Library and command line backend for the Raspberry Pi OPL3 emulator and midi player

About this repository This repository holds the source code for the pioplemidi backend. You can compile it if you only want to use the library or the

iAmInAction 2 Dec 2, 2021
PendulumSynth is an on-going and open-source project, running on Arduino platform with the goal of mixing real-world physics into music composition and musical performance.

PendulumSynth PendulumSynth is an on-going and open-source project, running on Arduino platform with the goal of mixing real-world physics into music

Mohammadreza Anvari 3 Oct 7, 2022
C++ library for audio and music analysis, description and synthesis, including Python bindings

Essentia Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license.

Music Technology Group - Universitat Pompeu Fabra 2.3k Jan 7, 2023
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.

JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications, including VST, VST3, AU, AU

JUCE 4.7k Jan 6, 2023
A simple C++ library for reading and writing audio files.

AudioFile A simple header-only C++ library for reading and writing audio files. Current supported formats: WAV AIFF Author AudioFile is written and ma

Adam Stark 683 Jan 4, 2023
A C library for reading and writing sound files containing sampled audio data.

libsndfile libsndfile is a C library for reading and writing files containing sampled audio data. Authors The libsndfile project was originally develo

null 1.1k Jan 2, 2023
C++ Audio and Music DSP Library

_____ _____ ___ __ _ _____ __ __ __ ____ ____ / \\_ \\ \/ / |/ \| | | | \_ \/ \ | Y Y \/ /_ \> <| | Y Y \ | |_|

Mick Grierson 1.4k Jan 7, 2023
Single file audio playback and capture library written in C.

A single file library for audio playback and capture. Example - Documentation - Supported Platforms - Backends - Major Features - Building - Unofficia

David Reid 2.6k Jan 8, 2023
Easy and efficient audio synthesis in C++

Tonic Fast and easy audio synthesis in C++. Prefer coding to patching? Love clean syntax? Care about performance? That's how we feel too, and why we m

null 482 Dec 26, 2022
"Zero-copy" Linux screen capture plugin for OBS that uses libdrm and dmabuf

linux-kmsgrab plugin for OBS Introduction This plugin is a proof-of-concept libdrm-based screen capture for OBS. It uses DMA-BUF to import CRTC frameb

Ivan Avdeev 62 Dec 31, 2022
Strawberry is a music player and music collection organizer.

Strawberry is a music player and music collection organizer. It is a fork of Clementine released in 2018 aimed at music collectors and audiophiles. It's written in C++ using the Qt toolkit.

Strawberry Music Player 1.8k Jan 5, 2023