Hi, > > + switch (graphic_rotate) { > > + case 90: > > + if (evt->abs->axis == INPUT_AXIS_X) { > > + evt->abs->axis = INPUT_AXIS_Y; > > + } > > + if (evt->abs->axis == INPUT_AXIS_Y) { > > Need else here, same for "case 270".
Why? > > + evt->abs->axis = INPUT_AXIS_X; > > + evt->abs->axis = INPUT_EVENT_ABS_SIZE - 1 - evt->abs->axis; > > ->value here, not ->axis. Oops, indeed. > It looks like doing it right for relative is easy: But what is the point when this isn't used anyway? > > if (graphic_rotate == 0) { > return; > } > if (move->axis != INPUT_AXIS_X && move->axis != INPUT_AXIS_Y) { > return; > } > if ((graphic_rotate <= 180 && move->axis == INPUT_AXIS_X) || > (graphic_rotate >= 180 && move->axis == INPUT_AXIS_Y)) { > if (kind == INPUT_EVENT_KIND_ABS) { > move->value = INPUT_EVENT_ABS_SIZE - 1 - move->value; > } else { > move->value = -move->value; > } > } > if (graphic_rotate == 90 || graphic_rotate == 270) { > move->axis ^= INPUT_AXIS_X ^ INPUT_AXIS_Y; > } Saves a few lines but it's a bit harder to figure what is going on ... cheers, Gerd