USB Joystick Driver
Japanese version
OVERVIEW
Driver for USB game controllers (joysticks, game pads etc.)
REQUIREMENTS
- BeOS R5 x86
- USB game controller ("joystick" hereafter)
Refer to Hardware Compatibility List for individual products' working status.
The author has tested with following devices:
- Gravis GamePad Pro USB (2 axes 10 buttons)
- Toshiba GamePad PA2823UJ (2 axes 10 buttons)
- SK-NET SMART JOYPAD 3 (4 axes 16 buttons)
- Planex PS-MG2 (4 axes 16 buttons)
- Microsoft SideWinder Game Pad Pro (2 axes 9 buttons)
- Microsoft SideWinder Strategic Commander (3 axes 15 buttons)
And following applications:
INSTALLATION
Run install.sh.
You can manually copy the settings file (usb_joy.conf) to
~/config/settings/kernel/drivers/usb_joy and edit it to remap buttons.
USAGE
- Connect a joystick to a USB port.
- Run Joysticks preference and select "usb/0" in Game Port.
- Select "Generic USB Joystick" in Connected Controller or press "Probe".
- Press "Calibrate" to see if everything is good.
- Try StickIt for more testing.
After reboot, you may need to run Joysticks preference once
before you run any joystick-aware app.
CAVEATS
- Note that BeOS joystick framework is designed to be static and not
very appropriate for USB's dynamic nature.
Unplugging your joysticks is prohibited
during joystick-aware application(s) are running (including Joysticks pref).
Also note that the assignment between joysticks and device names
(/dev/joystick/usb/*) is not fixed when you plug multiple
joysticks.
When you plug or unplug a joystick, the assignment of other connected joysticks may be also affected.
- When you calibrate a joystick, the number of its controls is saved.
If you later replace it with another joystick with more controls,
you'll see extra controls are labeled as null. To fix it delete
~/config/settings/joysticks/usb/* to clear old calibration data.
- When you press "Probe" for usb/* in Joysticks preference,
"Generic USB Joystick" will unconditionally hit.
This does not necessarily mean your joystick is working properly.
- Force-feedback, vibration, mode switch etc. are not supported.
APPLICATION SPECIFIC NOTES
Notes for major applications.
- Corum III
Disable other ports in the Joysticks preference.
- Axia!
It seems to support joysticks, but it does not indeed.
Don't enable joysticks, otherwise it will crash next time you try to start game.
- BeGameboy
You can't input axes (for unknown reason).
Buttons are mapped as 1:START, 2:B, 3:A, 4:SELECT.
- Snes9x
It will reportedly crash when you remap buttons.
TROUBLESHOOTING
Follow the installer's instructions.
REFERENCES
LICENSE
This software is freeware.
Copyright 2000 (C) ITO, Takayuki. All rights reserved.
HISTORY
- 0.10
-
- 0.20
-
- Installer improved
- Fixed default interface, device recognition improved
- Fixed axis order
- Fixed bug when axis values are larger than 8 bits
- Obtain initial state (not valid for all products)
- 0.30
-
- Hat support improved
- Fixed bug when axis values are smaller than 8 bits
- Multiple interfaces supported
- Ignore error in reading HID descriptor
- Fixed hidparse (Push/Pop, Physical Minimum/Maximum, Usage)
- Fixed hiddump
- Installer with timeout
- 0.40
-
- Introduced settings file to configure button mapping
- Fixed hat switch
- Set initial state of axes to neutral if not available
- 0.50
-
- Fixed axis bug for Microsoft products
- Fixed bug that some products gave no response
- Support for SideWinder Strategic Commander
- Attached HCL
- ToDo
-
- Proprietary ioctl's
- Dealing with unplugging during open
- Scaling improvement
- Generating config file automatically
- Separating hidparse as a module
AUTHOR
ITO, Takayuki
(e-mail /
WWW)