Code Monkey home page Code Monkey logo

Comments (11)

Maschell avatar Maschell commented on June 26, 2024 1

I'm not really sure if this would even work. IIRC windows doesn't give the HID-Access to the keyboard/mouse.
I think the better approach would be to use some Software to emulate the keyboard/mouse a XInput device.
Yesterday I did some research and found some tools which allow you to do this. At first it seems a bit compilacted, but once you've set this up, it's really powerful. Also the Mouse to Stick emulation is wayyyy better than my primitive implementation. Once I've set everything up, I can share my configs + maybe a small tutorial.

But I've used:

  • VJoy to create a virtual gamepad.
  • XOutput to map this controller to an XInput device
  • and URC to map the keyboard/mouse to the created VJoy Controller.

URC allows you to do really crazy stuff, and has a nice mouse to stick conversion with many options

from hidtovpadnetworkclient.

ashquarky avatar ashquarky commented on June 26, 2024

from hidtovpadnetworkclient.

ashquarky avatar ashquarky commented on June 26, 2024

Worth noting that Linux will allow access to the keyboard/mouse HIDs with a quick udev rule to give the appropriate permissions. It works exactly like any other HID (once you comment out our device filters).

Sounds to me like filtering options may be in order, and by extension, an Options window. Might start looking at that later...

from hidtovpadnetworkclient.

ashquarky avatar ashquarky commented on June 26, 2024

Okay, so I've looked into this pretty deep, and I've come to the conclusion that it's not actually possible to have the application use keyboards and mice directly under Windows. Windows will take exclusive control of keyboards and mice, meaning that our HID libraries can't use them. You'd have to go with some of the programs Maschell mentioned above in that case. I haven't looked into OSX yet, but on Linux the application can use keyboards and mice directly without any issues. Since I already went through the trouble of writing up a GUI for customising the filters, I'll finish that up with a few checks and balances to avoid confusing Windows users.

from hidtovpadnetworkclient.

DivineJayce avatar DivineJayce commented on June 26, 2024

Thanks for the explanation!

I actually attempted to use the solution provided by @Maschell on my windows setup and it almost works. Perhaps one of you might be able to explain why but for some reason when I use the combination of VJoy, XOutput and UCR, the Sticks and Triggers work fine but none of the face buttons do (ABXY, Start, Home, Etc).

I added the VJoy and VXbox into Joy2Key just to visually confirm that when I press a key they both fire correctly and they absolutely do for all buttons (ABXY included), likewise I can connect it to the network client, but the only buttons that register are Triggers and Sticks.

Could I possibly get confirmation that this is an issue happening to you as well or if it's something I have to look into? I've been going nuts trying to get to the bottom of this because it's so close yet so far from working.

from hidtovpadnetworkclient.

ashquarky avatar ashquarky commented on June 26, 2024

Hmm, weird. I'm no expert in XInput, so I think we may have to wait for @Maschell's opinion on this.

from hidtovpadnetworkclient.

ashquarky avatar ashquarky commented on June 26, 2024

Okay, latest nightly should have support for basically any HID (except for keyboards on Windows, and mice on Windows/OSX). I've done I all I really can here. @Maschell, you'll have to help with this user's XInput woes.

from hidtovpadnetworkclient.

DivineJayce avatar DivineJayce commented on June 26, 2024

Thanks, I'll check it out when I get home. Fingers crossed!

I'll admit my use case is a bit unique so I'm not expecting a result but I appreciate the time you've taken to look into this for me. Thankfully the wired solution still works ok but it requires a bit more fiddling on my part.

I'll be keeping a close eye on updates to this project regardless, it's a huge help!

from hidtovpadnetworkclient.

JLOrwell avatar JLOrwell commented on June 26, 2024

maybe it's not possible through java, but there are windows api calls that allow access to the keyboard and mouse. They are used by every program that uses them except games which use directx.

from hidtovpadnetworkclient.

footfoot19 avatar footfoot19 commented on June 26, 2024

Please do share a config at the least. Perhaps some screen shots of your setup. The UCR portion is blowing my mind right now in terms of complexity.

from hidtovpadnetworkclient.

footfoot19 avatar footfoot19 commented on June 26, 2024

I've made this work "almost" perfectly as well. The issue i find is that a lot of work and tweaking is needed to make the mouse-to-joy work as well or even better than Maschell's implementation. The default given to you UCR is workable, but not as fine when it comes to sharp aiming.

Also, there are now "Ghosting" issues with the keyboard. If you hold shift and attempt to move with/use the WASD, they no longer work. <-- Solved by connecting keyboard directly into Wii U and using network USB mouse

As well as the fact that holding CAPSLOCK down causes my D key to be held down if pressed in some kind of combination with other keys. All of these i strongly suspect are windows fault. <-- Solved by connecting keyboard directly into Wii U and using network USB mouse

And @DivineJayce i've figured out the issue you might be experiencing. It can only really be fixed by visting https://gamepadviewer.com and/or http://html5gamepad.com/. You'll find that the 2nd controller registers perfectly and you must adapt all of your settings to work with it instead.

from hidtovpadnetworkclient.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.