Sí, te los mapea como a mí (tengo el MX510). Y no creas, arreglarlo es tan sencillo como crees. El parche que comentaba que hice para remapear los botones es bien simple:
--- ../xf86-input-evdev-1.0.0.5/src/evdev.c 2005-09-24 00:32:23.000000000 +0200
+++ ./src/evdev.c 2006-04-12 12:51:15.000000000 +0200
@@ -83,10 +83,10 @@
int kernel24;
} EvdevRec, *EvdevPtr;
-static int wheel_up_button = 4;
-static int wheel_down_button = 5;
-static int wheel_left_button = 6;
-static int wheel_right_button = 7;
+static int wheel_up_button = 9;
+static int wheel_down_button = 10;
+static int wheel_left_button = 11;
+static int wheel_right_button = 12;
static void
PostButtonClicks(InputInfoPtr pInfo, int button, int count)
@@ -181,7 +181,7 @@
case BTN_FORWARD:
case BTN_BACK:
case BTN_TASK:
- xf86PostButtonEvent(pInfo->dev, 0, ev.code - BTN_LEFT + 5,
+ xf86PostButtonEvent(pInfo->dev, 0, ev.code - BTN_LEFT + 1,
value, 0, 0);
break;
Simplemente muevo los asignados a las ruedas a las posiciones 9-12 y los que antes iban de 8 a 12 (BTN_SIDE, BTN_EXTRA, BTN_FORWARD, BTN_BACK y BTN_TASK) los paso a 4-8.
Pero buscaba la manera de hacerlo sin parchear. Es un coñazo mantener versiones parcheadas de los ebuilds cada vez que sale una nueva versión del paquete.
(edit)
Ah, se me olvidaba: una vez cambiada la asignación física, tienes que usar Xmodmap para que funcione la rueda (forzosamente tiene que tener mapeados los botones 4 5). Así que
pointer = 1 3 2 6 7 8 9 10 4 5 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Así, aunque la rueda siga teniendo los botones 4 y 5, los botones *físicos* son en realidad 9 y 10, y el doom3 lo que mira son los físicos, no los mapeados. Con lo que se pueden usar sin problemas para recargar y para el cubo de almas