Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: xserver-xorg-core игнорирование одноразовых евентов движения.  (Прочитано 627 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mkarasik

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Собственно говоря, есть (возможно была) у меня проблема с мышью моей. Логитек беспроводная, оптическая, модель не важна. Раз в 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.

Я по коду лазил немного, не очень глубоко, вроде не должно.

 

Страница сгенерирована за 0.125 секунд. Запросов: 21.