I've had to applie the following change to make the SNES controller work
at the parallel port. It have been applied to two computers. The old
code was giving the same values when you pressed right or left or when
you pressed up or down. The new code have been done to not use expensive
codification (i.e. multiplication).
It have been applied to kernel 2.4.6, and compiled with gcc 3.0.
See ya,
Eng. Eduardo Bortoluzzi Junior
mailto:eduardo.sp@usa.net
--- start of patch ---
--- drivers/char/joystick/gamecon.c.orig Sat Jul 14 19:03:12 2001
+++ drivers/char/joystick/gamecon.c Wed Jul 18 16:00:50 2001
@@ -345,8 +345,8 @@
s = gc_status_bit[i];
if (s & (gc->pads[GC_NES] | gc->pads[GC_SNES])) {
- input_report_abs(dev + i, ABS_X, ! - !(s
& data[6]) - !(s & data[7]));
- input_report_abs(dev + i, ABS_Y, ! - !(s
& data[4]) - !(s & data[5]));
+ input_report_abs(dev + i, ABS_X, - !!(s
& data[6]) + !!(s & data[7]));
+ input_report_abs(dev + i, ABS_Y, - !!(s
& data[4]) + !!(s & data[5]));
}
if (s & gc->pads[GC_NES])
--- end of patch ---
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/