Sign in to follow this  
Pooya65

Joystick programming with X11

Recommended Posts

You could always try something like glfw. If nothing else it is open source and you can check out its code for an example. Hope it helps anyway. Here is the site.
http://www.glfw.org/

Share this post


Link to post
Share on other sites
Would be strange to use something made for OpenGL when he use DirectX as the rendering. It would work but still.

Currently XInput is used for most games, but it pretty much support only the xbox360 gamepad. DirectInput8 still works for every gamepad/joystick (minus the xinput bonus). Or, you can simply catch Win32 messages or use Win32 async input pooling functions.

http://msdn.microsoft.com/en-us/library/ee417014%28v=vs.85%29.aspx

Share this post


Link to post
Share on other sites
Quote:
Original post by Pooya65
how can i use and program joystick under X11? (any sample code or tutorial can help me)

SDL handles joysticks nicely, so if you want some sample code, look at how SDL does it.

Or, you could just use SDL.

Share this post


Link to post
Share on other sites
Quote:
Original post by Dunge
Would be strange to use something made for OpenGL when he use DirectX as the rendering. It would work but still.

Currently XInput is used for most games, but it pretty much support only the xbox360 gamepad. DirectInput8 still works for every gamepad/joystick (minus the xinput bonus). Or, you can simply catch Win32 messages or use Win32 async input pooling functions.

http://msdn.microsoft.com/en-us/library/ee417014%28v=vs.85%29.aspx


You do know what X11 is, right?

Share this post


Link to post
Share on other sites
Quote:
Original post by Pooya65
I'm know how to work with SDL or direct input for programming joystick. but i want to work directly with x11 not any other 3rd party library like as SDL


I suggested looking at the SDL code because SDL does what you want to do, so it is a source you can learn from. It's surprising how much you can learn about wheels from people who have already invented them once.

If you want to use X11 input directly, you will need to enumerate the available input devices using the XI (XInput) extension, find a device that is known to be a joystick, and subscribe to events on its valuators. You will then need to translate from device coordinates into coordinates appropriate for your own use, and you will need to write your own X11 event loop. It's not a lot of code.

If you're on a newer version of X, you may have access to XI2 which has different calls and structures and gives you a finer level of detail for the devices and events.

You can use Xlib calls or the newer XCB interface.

Share this post


Link to post
Share on other sites
Sign in to follow this