1 |
mr_bones_ 11/01/26 02:03:01 |
2 |
|
3 |
Added: libsdl-1.2.14-joystick.patch |
4 |
Log: |
5 |
add patch to handle joystick info correctly - patch from Gabriel Marcano via bug #332761 |
6 |
|
7 |
(Portage version: 2.1.9.25/cvs/Linux i686) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 media-libs/libsdl/files/libsdl-1.2.14-joystick.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/libsdl/files/libsdl-1.2.14-joystick.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/libsdl/files/libsdl-1.2.14-joystick.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: libsdl-1.2.14-joystick.patch |
16 |
=================================================================== |
17 |
--- SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2009-10-18 13:54:40.000000000 -0400 |
18 |
+++ SDL-1.2.14-mod/src/joystick/linux/SDL_sysjoystick.c 2010-08-15 22:28:19.000000000 -0400 |
19 |
@@ -700,26 +700,26 @@ |
20 |
continue; |
21 |
} |
22 |
if ( test_bit(i, absbit) ) { |
23 |
- int values[5]; |
24 |
+ struct input_absinfo values; |
25 |
|
26 |
- if ( ioctl(fd, EVIOCGABS(i), values) < 0 ) |
27 |
+ if ( ioctl(fd, EVIOCGABS(i), &values) < 0 ) |
28 |
continue; |
29 |
#ifdef DEBUG_INPUT_EVENTS |
30 |
printf("Joystick has absolute axis: %x\n", i); |
31 |
printf("Values = { %d, %d, %d, %d, %d }\n", |
32 |
- values[0], values[1], |
33 |
- values[2], values[3], values[4]); |
34 |
+ values.value, values.minimum, |
35 |
+ values.maximum, values.fuzz, values.flat); |
36 |
#endif /* DEBUG_INPUT_EVENTS */ |
37 |
joystick->hwdata->abs_map[i] = joystick->naxes; |
38 |
- if ( values[1] == values[2] ) { |
39 |
+ if ( values.minimum == values.maximum ) { |
40 |
joystick->hwdata->abs_correct[i].used = 0; |
41 |
} else { |
42 |
joystick->hwdata->abs_correct[i].used = 1; |
43 |
joystick->hwdata->abs_correct[i].coef[0] = |
44 |
- (values[2] + values[1]) / 2 - values[4]; |
45 |
+ (values.maximum + values.minimum) / 2 - values.flat; |
46 |
joystick->hwdata->abs_correct[i].coef[1] = |
47 |
- (values[2] + values[1]) / 2 + values[4]; |
48 |
- t = ((values[2] - values[1]) / 2 - 2 * values[4]); |
49 |
+ (values.maximum + values.minimum) / 2 + values.flat; |
50 |
+ t = ((values.maximum - values.minimum) / 2 - 2 * values.flat); |
51 |
if ( t != 0 ) { |
52 |
joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t; |
53 |
} else { |