Re: Game Controllers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 2 May 2013 15:10:55 Todd Showalter wrote:
>     Users want to plug in a gamepad and have it just work, regardless
> of who made it.  Developers occasionally want access to he more
> esoteric parts of the gamepad hardware, but 99% of the time they just
> want standard sticks-and-buttons functionality mapped in a predictable
> way.
> 
>     As a developer, if I had to choose between the current situation
> or having all game hardware map down to a standard one-stick, two
> button controller with no access to anything else, I'd jump on the
> standard controller in a heartbeat.  A standard controller means
> there's a gigantic pile of crap I don't have to deal with every time I
> write a game.  It means once a player knows what the NORTH button is,
> it's the same in every game and on every controller, regardless of
> developer or hardware maker.
> 
Could you consider a gamepad equivalent of libv4l2 (source found in 
http://git.linuxtv.org/v4l-utils.git/tree/HEAD:/lib )?

The idea here is a shared library that can be used in two ways:

 * As an LD_PRELOAD library, for applications that have been designed around a 
standard device. When used as an LD_PRELOAD, it intercepts 
open()/ioctl()/close() etc; it passes them through if you're opening something 
that isn't a V4L2 device, and uses its internal functionality to emulate 
standard devices atop whatever you've actually got (e.g. doing colour space 
conversion).

 * As a genuine shared library, using v4l2_open, v4l2_ioctl etc when working 
with V4L2 devices. This is a mechanical change to an existing codebase, as the 
functions provided by libv4l2 behave the same way as the kernel functions do, 
but add extra functionality like colourspace conversion.

A gamepad version would intercept opens of /dev/input/event* nodes, and if 
that node was a gamepad, do the remapping from gamepad-specific events to the 
standard gamepad events. You can then use this with unmodified apps as an 
LD_PRELOAD, or with modified apps as a shared library that only gets in the way 
if the app is accessing a gamepad.
-- 
Simon Farnsworth
Software Engineer
ONELAN Ltd
http://www.onelan.com
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux