Собственно говоря, есть (возможно была) у меня проблема с мышью моей. Логитек беспроводная, оптическая, модель не важна. Раз в 3-10 минут мышь посылает евент движения (motion event) на 1 пиксель даже если к ней никто не прикасается. Из за этого возникают 2 проблеммы, одна большая и одна маленькая.
Большая: Экран просыпается раз в 3-10 минут, и нужно ждать опять пока повер менеджер его усыпит. При этом хранитель экрана умеет такие вещи игнорировать. Получается ситуация, когда среди ночи подсветка экрана включается и гоприт 2 минуты.
маленькая: Во время просмотра фильмов на полный экран, зажигается курсор на несколько секунд.
Проблемма была всегда, начиная с 8.04. Рылся долго в интернете, нашел пару жалоб, и на этом дело закончилось, как для меня, так и для разработчиков Х. Плюнул и забыл. Недавно прикупил себе монитор на 23 дюйма, и теперь его спинкой стула заслонять проблемно.
Я скачал исходники Хорга и подправил немного код, таким образом, чтобы он игнорировал первое движение, после минуты простоя.
вот собственно код
static CARD32 last_event = 0;
...
GetPointerEvents(xEvent *events, DeviceIntPtr pDev, int type, int buttons,
...
ms = GetTimeInMillis();
/*MK: If we are looking for motion notify events, we try to ignore single motion event
to avoid dummy mouse behavior */
if (type == MotionNotify)
{
CARD32 delay = (ms - last_event);
last_event = ms;
if (delay > 1000) /* one minute is passed without events */
{
/* ignore this event */
return 0;
}
}
...
Теперь вопрос к специалистам по Х, если такие имеются. Не приведет ли мой патч к чему нибудь типа лика памяти и т.д. ?
Ubuntu 8.10, xserver-xorg-core 1.5.2-3.
Я по коду лазил немного, не очень глубоко, вроде не должно.