Summary | Source | Releases | Documentation | Use Cases | Rationale | Tasks | Limitations | Author
Summary
Joytran is a joystick to keyboard/mouse events translator written in C.The project has several advantages over similar software:
- Portable to a wide variety of platforms, since it is based on SDL and the X11 XTest Extension (Developed on FreeBSD)
- It is easy to use the joystick in places where it is not usually supported
- Supports keyboard and mouse emulation
- Supports multiple joysticks
- Handles the presence of non-joystick devices, such as USB mice/trackballs that masquerade as joysticks gracefully
- Easy switching between profiles
- Lightweight, with few dependencies
- Comprehensive feature set (if there are features missing that are important to you, I will at least consider implementing them)
- Freely available (MIT License)
Use Cases
The following are the main examples of where I use Joytran. I believe that these use cases might be somewhat common among power users.
- To get joystick support in VirtualBox. Running old or non-graphically demanding games in VirtualBox work almost identically to a native Windows OS. In fact, most games I play on Windows fall in to this category. However, most of these games would benefit from joystick support, or only offer keyboard/mouse controls in the first place. Since to my knowledge, VirtualBox lacks such support on any host OS, this feature might benefit some users.
- To get joystick support in wine. Although wine supports joysticks at least on Linux (or at least I believe it does), it does not on any of the BSDs, save for possibly Mac OS X. So this might be useful to some users, since many game emulators run better in wine than their native *nix versions.
- To get joystick support on *BSD for applications using Linux emulation. Although on FreeBSD, devel/linux-js might be fixed at some future point in time, this feature might be helpful to some users who need/want joystick support in ePSXe today, or other applications running in the Linux Compatibility Layer.
- To support joysticks in non-game applications, or in games which only support keyboard/mouse input. This one is particularly amusing, depending on your needs. If you are creative, you could potentially save a lot of time by doing this.