Hello to all,

I’m very pleased to annouce the initial release of JSMapper, a software
tool for Linux I've been working on for the past year which converts any
game device (such as joysticks and wheel drives) into completely
programmable devices under this OS. This allow the device controls (buttons
and axis) to be mapped to arbitrary keystrokes and mouse events, including
support for complex actions such as macros. The tool features also advanced
capabilities, such as support for mode switches and shift buttons, and axis
mapping through bands.

Project page in Assembla:

http://www.assembla.com/spaces/jsmapper


>From a technical perspective, JSMapper relies on an kernel module which
hooks into the kernel input subsystem as an “input filter” for game
devices:  this allows it to intercept hardware device events from the very
beginning, then them as requested to the desired target keyboard and mouse
simulated actions. These are sent using an internal input device, which
acts as a “virtual” keyboard and mouse device which is handled by userspace
tools (X, console, etc...) as any other “real” hardware device. The
original device event can then be filtered out, so it never reaches the
userspace stack.

This approach is what makes JSMapper a very powerful tool, as it’s handled
in a completely transparent way by any software running on the system,
including native Linux games, Windows games running on Wine, or even
Windows games running under a virtual machine on a Linux host.

The tool has been designed having specifically flight simulators in mind,
as they often require to map complex operations on the joystick buttons,
and is specially useful for complex game devices such as HOTAS featuring
mode switches and shift buttons which could only be properly used under
Windows by means of the propietary software provided by the device
manufacturer.

Disclaimer:

This is a very initial, although completely functional, release, and right
now is only available in the form of source code that must be checked out
from repository and compiled into the target system in order to use it. The
wiki available in the project provides detailed instructions about how to
proceed, along with how to interact with the kernel module by means of the
userspace tools in order to load mapping profiles into the device.

I’d very pleased if anyone could take a look at the project and provide any
feedback about it, including criticism, ideas, bugs, whatever you might
feel appropiate.

The project is completely opensource and licensed under GPLv2 (exceptuating
the programming library, which uses LGPL), and it’s actually a “final year
project” for IT studies on UPC (Universitat Politecnica de Catalunya).

Kind regards,

 Eduard Huguet

 Barcelona (Spain)
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Flightgear-users mailing list
Flightgear-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-users

Reply via email to