nefarius / ViGEmBus

Windows kernel-mode driver emulating well-known USB game controllers.
https://docs.nefarius.at/projects/ViGEm/
BSD 3-Clause "New" or "Revised" License
3.18k stars 295 forks source link

WiFi HID emulator #3

Closed mkeyno closed 6 years ago

mkeyno commented 6 years ago

hi , sorry to open a ticket for my question, but I have a question that may related to your field of repository and any possible hint really appreciated Actually I interested to send game-pad data by WiFi bridge(ESP8266) to my laptop, but generic joystick only use USB port, Is there a way to emulate "HID-compliant game controller" driver which listen to IP message instead of USB port Tnx

nefarius commented 6 years ago

Duplicate

nefarius commented 6 years ago

If I understood correctly what you wanna achieve, emulating the HID device is the last (and more easy) step.

You're talking about sending Gamepad data via Wireless LAN. So? Does the Gamepad (assuming it's a physical device) support WiFi? What protocols are involved? TCP/IP? How are they received? What software stack will be running on this ESP8266 thing?

There are a lot of questions about the design before a HID device should even be considered. So from your description alone I can't answer no, neither yes. It's too vague.

mkeyno commented 6 years ago

thanks for quick reply , I've actually prepared my server side with ESP8266 which can send any joystick data (buttons,pot,..) on websocket message , so on my laptop, wifi emulator should connect to specific IP and listen to websocket message, and upon any message pass it to generic HID-compliant game controller I'm not sure, how to bind wifi message with HID driver on laptop but I find this site made similar software ,but unfortunately it is not opensource to modify it I hope I make it clear tnx

nefarius commented 6 years ago

Well, when you already have an established method to transfer the data to your PC then all you need is to feed that data into a Gamepad emulator like ViGEm or vJoy.

mkeyno commented 6 years ago

yes @nefarius , and my problem is how to bind wifi to the HID controller driver. Actually before this conversation I was digging in to the Windows Devices HID API on WDK(Window Driver Kit) sources but no sample for HID over WiFi I was wondering if you could advise me how can manipulate ViGEm to enable client websocket listener

nefarius commented 6 years ago

I haven't yet found the time to update the feeder documentation but explore the sample implementations to get an idea on how to use the client library. Also a lot of action happens on the Discord so consider joining.

mkeyno commented 6 years ago

@nefarius can you direct me where should I start and entry point for the ViGEm, my skill is mostly focus on Soc programming with c++ but I have little skill on visual c# tnx

nefarius commented 6 years ago

The examples I linked to are in C++...