[ 1383.257658] usb 6-1: new full-speed USB device number 2 using ohci_hcd
[ 1383.497982] input: USB GAMEPAD 8116 as /devices/pci0000:00/0000:00:13.1/usb6/6-1/6-1:1.0/input/input14
[ 1383.498209] acrux 0003:1A34:0802.0002: input,hidraw1: USB HID v1.00 Joystick [USB GAMEPAD 8116] on usb-0000:00:13.1-1/input0
[ 1383.498227] acrux 0003:1A34:0802.0002: Force Feedback for ACRUX game controllers by Sergei Kolzun <x0r@dv-life.ru>
[ 5494.728711] usb 5-3: new low-speed USB device number 4 using ohci_hcd
[ 5494.936564] input: USB Gamepad as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input20
[ 5494.936878] dragonrise 0003:0079:0011.0006: input,hidraw1: USB HID v1.10 Joystick [USB Gamepad ] on usb-0000:00:13.0-3/input0
devnewton {l Wrote}:qubodup< what are the names of your gamepads displayed in jstest-gtk?
beoran {l Wrote}:If dmesg says your joystick has force feedback, then it should have! Use fftest to check it out, you may be surprised like I was. Linux already supports force feedback for years, just that SDL didn't support it until recently.
$ fftest /dev/input/event4
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES
Device /dev/input/event4 opened
Axes query:
Effects: Periodic Rumble
Number of simultaneous effects: 16
Upload effects[1]: Invalid argument
Upload effects[2]: Invalid argument
Upload effects[3]: Invalid argument
Enter effect number, -1 to exit
[ 29633.815] (II) config/udev: Adding input device USB GAMEPAD 8116 (/dev/input/event4)
[ 29633.903] (**) USB GAMEPAD 8116: Applying InputClass "joystick catchall"
[ 29633.925] (II) Using input driver 'joystick' for 'USB GAMEPAD 8116'
[ 29633.926] (**) USB GAMEPAD 8116: always reports core events
[ 29633.926] (**) USB GAMEPAD 8116 (keys): Applying InputClass "joystick catchall"
[ 29633.926] (II) Using input driver 'joystick' for 'USB GAMEPAD 8116 (keys)'
[ 29633.926] (**) USB GAMEPAD 8116 (keys): always reports core events
[ 29633.940] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:13.1/usb4/4-1/4-1:1.0/input/input15/event4"
[ 29633.940] (II) XINPUT: Adding extended input device "USB GAMEPAD 8116 (keys)" (type: JOYSTICK, id 10)
[ 29633.950] (**) Option "Device" "/dev/input/event4"
[ 29633.950] (**) Option "StartMouseEnabled" "False"
[ 29633.950] (**) Option "StartKeysEnabled" "False"
[ 29633.950] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:13.1/usb4/4-1/4-1:1.0/input/input15/event4"
[ 29633.950] (II) XINPUT: Adding extended input device "USB GAMEPAD 8116" (type: JOYSTICK, id 11)
[ 29633.950] (II) Joystick: USB GAMEPAD 8116. bus 0x3 vendor 0x1a34 product 0x802 version 0x100
[ 29633.950] (II) Joystick: found 7 axes, 10 buttons
[ 29633.954] JOYSTICK: DebugLevel set to 0
[ 29633.954] (**) USB GAMEPAD 8116: (accel) keeping acceleration scheme 1
[ 29633.954] (**) USB GAMEPAD 8116: (accel) acceleration profile 0
[ 29633.954] (**) USB GAMEPAD 8116: (accel) acceleration factor: 2.000
[ 29633.954] (**) USB GAMEPAD 8116: (accel) acceleration threshold: 4
[ 29633.958] (II) config/udev: Adding input device USB GAMEPAD 8116 (/dev/input/js0)
[ 29633.958] (II) No input driver specified, ignoring this device.
[ 29633.958] (II) This device may have been added with another device file.
Finally, I think the idea of an "ideal" gaming device isn't feasible, since there is too much variation.
Rather, we should keep in the DB the position and function of the available buttons and axis.
qubodup {l Wrote}:Thanks for the hint! I tested it with the Techsolo TG-30. However, the output was:
- {l Code}: {l Select All Code}
$ fftest /dev/input/event4
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES
Device /dev/input/event4 opened
Axes query:
Effects: Periodic Rumble
Number of simultaneous effects: 16
Upload effects[1]: Invalid argument
Upload effects[2]: Invalid argument
Upload effects[3]: Invalid argument
Enter effect number, -1 to exit
I 'll try to come up with an idea for what we need for such a detailed database.
<database>
<device>
<id>d1</id>
<name>Speedlink Strike²</name>
<model>SL-6535-SSV</model>
<kind>gamepad</kind>
<image>speedlink_strike_2.jpg</image>
<drawing>speedlink_strike_2.png</drawing>
<os>
<linux>
<uuid>0003:0E8F:0012.0009</uuid>
<name>GreenAsia Inc. USB Joystick </name>
</linux>
</os>
<elements>
<element><id>e1</id><kind>thumbstick</kind><mode>analog</mode>
<position>left</position>
</element>
<element><id>e2</id><kind>thumbstick</kind><mode>analog</mode>
<position>right</position>
</element>
<element><id>e3</id><kind>8 direction cross</kind><mode>digital</mode>
<position>left</position>
</element>
<element><id>e4</id><kind>buttongroup</kind><mode>digtal</mode>
<position>middle</position>
</element>
<element><id>e5</id><kind>shoulder</kind><mode>digtal</mode>
<position>left</position>
</element>
<element><id>e6</id><kind>shoulder</kind><mode>digtal</mode>
<position>right</position>
</element>
<element><id>e7</id><kind>buttongroup</kind><mode>digtal</mode>
<position>right</position>
</element>
</elements>
<axes>
<axis><id>a1</id><os><linux><aid>0</aid></linux></os>
<in_element>1</in_element><direction>x</direction>
</axis>
<axis><os><linux><aid>1</aid></linux></os>
<in_element>1</in_element><direction>y</direction>
</axis>
<axis><os><linux><aid>2</aid></linux></os>
<in_element>2</in_element><direction>x</direction>
</axis>
<axis><os><linux><aid>3</aid></linux></os>
<in_element>2</in_element><direction>y</direction>
</axis>
<axis><os><linux><aid>4</aid></linux></os>
<in_element>3</in_element><direction>x</direction>
</axis>
<axis><os><linux><aid>5</aid></linux></os>
<in_element>3</in_element><direction>y</direction>
</axis>
</axes>
<buttons>
<button><id>b1</id><name>1</name><os><linux><bid>0</bid></linux></os>
<in_element>e7</in_element>
</button>
<button><id>b2</id><name>2</name><os><linux><bid>1</bid></linux></os>
<in_element>e7</in_element>
</button>
<button><id>b3</id><name>3</name><os><linux><bid>2</bid></linux></os>
<in_element>e7</in_element>
</button>
<button><id>b4</id><name>4</name><os><linux><bid>3</bid></linux></os>
<in_element>e7</in_element>
</button>
<button><id>b5</id><name>L1</name><os><linux><bid>4</bid></linux></os>
<in_element>e5</in_element>
</button>
<button><id>b6</id><name>R1</name><os><linux><bid>5</bid></linux></os>
<in_element>e6</in_element>
</button>
<button><id>b7</id><name>L2</name><os><linux><bid>6</bid></linux></os>
<in_element>e5</in_element>
</button>
<button><id>b8</id><name>R2</name><os><linux><bid>7</bid></linux></os>
<in_element>e6</in_element>
</button>
<button><id>b9</id><name>9</name><os><linux><bid>8</bid></linux></os>
<in_element>e5</in_element>
</button>
<button><id>b10</id><name>10</name><os><linux><bid>9</bid></linux></os>
<in_element>e4</in_element>
</button>
<!-- "Push down" Buttons in the thumbsticks -->
<button><id>b11</id><name>L3</name><os><linux><bid>10</bid></linux></os>
<in_element>e1</in_element>
</button>
<button><id>b12</id><name>R3</name><os><linux><bid>11</bid></linux></os>
<in_element>e2</in_element>
</button>
</butons>
</device>
</database>
Possible values for <device><kind>:
Gamepad
Paddle
Joystick
Arcade
Driving Control
Steering wheel
Pedals
Flight Control
Yoke
Throttle quadrant
Gameboard
Motion tracker
Light gun
Rhythm game controller
Pinball controller
Dance pad
Balance board
Buzzer
Twistpad
Mech controller
Floating interactive display
Mind controller
Bike controller
Optical motion tracker
Mechanical motion tracker
Exoskeleton controller
Instrument panel
Train control
Robotic control
Urinal control
Possible values for <element><kind>:
joystick
thumbstick
8 way cross
4 way cross
2 way switch
switch
buttongroup
shoulder
wheel
yoke
pedal
throttle
tracker
gun
...
beoran {l Wrote}:Yes, that's excellent, it means your Techsolo supports force feedback! Now type 4 ENTER or 5 ENTER.
Your joystick will rumble, so hold it down well!
Users browsing this forum: No registered users and 1 guest