--- - 2005-10-30 18:00:07.118216000 -0700 +++ xc/programs/Xserver/hw/xfree86/input/evdev/evdev.c 2005-10-30 17:59:48.846616088 -0700 @@ -155,6 +155,13 @@ EvdevReadInput(InputInfoPtr pInfo) PostButtonClicks(pInfo, wheel_down_button, -value); break; + case REL_Z: + if (value > 0) + PostButtonClicks(pInfo, wheel_left_button, value); + if (value < 0) + PostButtonClicks(pInfo, wheel_right_button, -value); + break; + case REL_HWHEEL: if (value > 0) PostButtonClicks(pInfo, wheel_right_button, value); @@ -176,7 +183,6 @@ EvdevReadInput(InputInfoPtr pInfo) value, 0, 0); break; - case BTN_SIDE: case BTN_EXTRA: case BTN_FORWARD: case BTN_BACK: @@ -185,6 +191,9 @@ EvdevReadInput(InputInfoPtr pInfo) value, 0, 0); break; + case BTN_SIDE: + ev.code = KEY_BACKSPACE; + default: PostKbdEvent(pInfo, &ev, value); } @@ -691,7 +700,7 @@ EvdevPreInit(InputDriverPtr drv, IDevPtr if (pInfo->fd < 0) { xf86Msg(X_ERROR, "Unable to open evdev device \"%s\".\n", device); - xfree(pEvdev); + /* xfree(pEvdev); */ return pInfo; }