While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- SteamOS 3.5.18 Preview released for Steam Deck
- Team Fortress 2 64bit support released, plus Vulkan for Linux via DXVK
- Stardew Valley 1.6.4 brings even more new free content
- Phantom Fury gets Steam Deck Verified ahead of release
- Check out this casual fab farming game bundle, plus a whole bunch of Godot Engine courses
- > See more over 30 days here
-
Dr. Robotnik's Ring Racers released after 5 years of de…
- pilk -
Garry's Mod forced to remove Nintendo content after tak…
- emphy -
Garry's Mod forced to remove Nintendo content after tak…
- TruckStopSantaClaus -
Fallout 4 'Next Gen' update out now and Steam Deck Veri…
- EagleDelta -
Fallout 4 'Next Gen' update out now and Steam Deck Veri…
- EagleDelta - > See more comments
Latest Forum Posts
- Hello to all
- Hamish - Divinity Original Sin II - Definitive Edition - stopped starting …
- spiry2sick - Weekend Players' Club 4/19/2024
- StoneColdSpider - What sorta display and audio setup do you folks got?
- Arehandoro - Logitech G29 steering wheel - Snowrunner support
- silmeth - See more posts
Ran many searches and have now resorted to posting on a few forums.
Goal - have a Virpil HOTAS and joystick function within SC.
Looking for two items one may negate the ask for the latter.
1. Is it possible to map out keybindings from a joystick and have them pushed to a game running on top of Wine?
2. If so, how does the input get pushed to Wine and then on to the game?
Any help is appreciated.
Essentially pushing button X on the joystick should generate a keyboard event?
I like where you're going with this.
Yes, in a nutshell. Phrasing it this way illuminated two things.
1. SC doesn't support all the buttons a Virpil HOTAS provides - so keybinding would make more sense and there already are keyboard binders for joysticks available for linux.
2. Why won't SC support the HOTAS from Virpil, is it due to too many input (I've read claims of 50). This might be the other part of the solution - try binding up to 50 buttons and use the remainder for keyboard bindings. I've found that some of the lower number logical buttons DO work. Albeit none of the scroll wheels do and they are numbered under 50 on the logic buttons.
But if you want to write your own driver it's evdev you're after. It's quite easy to use, and for example the Python bindings are excellent:
https://python-evdev.readthedocs.io/en/latest/
You would pretty much create your own userspace driver. Take exclusive control of the HOTAS, pass through the events for the buttons that are supported in the game, capture the rest and create matching keyboard events. Then inject it all back in the input stream.
It should work transparently to Wine, or any other game, but you might end up with two joystick devices and have to disable one of them in the Wine control panel.
- I'll try AntiMicroX and see how far I can get initially.
- I'll think look into evdev and post back here if I make any progress for anyone else to use
View PC info
Managed to get some of them mapped - issue I kept running into was mapping the dials and the virtual buttons.
Then my little girl was born so this has taken a back seat to her, work, and building a new house.
View PC info
No worries. I was just curious.