[Comm] Re: Asks about mouse

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Май 29 19:27:08 MSD 2003


On Thu, 29 May 2003 10:34:52 +0600
Леутин Александр <leutin-lists на rambler.ru> wrote:

> * Sergey Vlasov <vsu на altlinux.ru> Wed, 28 May 2003 15:30:49 +0400
> 
> > > > > Я стал счастливым обладателем Logietch iFeel MouseMan. Подключил
> > > > > по USB, сказал, MOUSE=yes в /etc/sysconfig/usb, написАл в
> > > > > XF86Config-4/dev/usbmouse вместо /dev/mouse.
> > > > Это зря. Должно быть Device "/dev/input/mice", Option "Protocol"
> > > > "IMPS/2" (ядро эмулирует этот протокол).
> > > Спасибо, поставил. Результат пока тот же -- работает, но
> > >  боковая кнопка == колесо.
> > 
> > А проверка через xev что показывает?
> 
> ButtonRelease event, serial 28, synthetic NO, window 0x1400001,
>     root 0x7a, subw 0x0, time 1862647770, (129,3), root:(194,426),
>     state 0x210, button 2, same_screen YES
> 
> Это одинаково для колеса и бок. кнопки. В XF86Config-4 --
> /dev/input/mice, IMPS/2
>  
> > Ещё попробуйте протокол "ExplorerPS/2".
> 
> Тогда в xev на боковую кнопку вообще никакой реакции.

$#@$#@$%$$#%$#!!!!!!!!

Опять полез в исходники XFree86 :-((((

Драйвер mouse в X написан криво. Он не даёт возможности переопределить
кнопки до обработки ZAxisMapping, в результате дополнительные кнопки
получают номера 4 и 5 (для ExplorerPS/2), а затем драйвер вытирает все
кнопки, которые были назначены в ZAxisMapping. Попробуйте ради
эксперимента убрать ZAxisMapping - боковая кнопка, скорее всего,
появится под номером 4. Свинство в том, что колесо с кнопок 4 и 5
убирать нельзя, поскольку все программы ожидают его именно там.

> > А хрен его знает. Для переключения на hid можно установить hotplug,
> > поставить MOUSE="no" в /etc/sysconfig/usb, а потом добавить usbmouse в
> > /etc/hotplug/blacklist.
> 
> А Вы не знаете, hid поймет, что у моей мыши 6 кнопок?

Судя по тому, что при включении ExplorerPS/2 произошли изменения -
понимает. Только от этого не легче :-(

> > > > Кроме того, кнопки с номерами больше 5 в X поддерживаются не
> > > > полностью.
> > > То есть? Я слышал, что больше 7 кнопок не поддерживается без
> > > перекомпиляции. Что значит "не полностью"?
> <skipped>
> > Т.е. для последующих кнопок просто не предусмотрены биты, в результате
> > некоторые операции с ними не работают.
> Я далёк от программирования. Не могли бы Вы сказать чуточку
> поконкретнее, какие операции будут работать, а какие -- нет? Где я смогу
> использовать эту кнопку? Слышал, что люди подключают по 2 колеса -- это
> ведь больше 7 кнопок...

Это как раз 7 и есть. Что конкретно не работает - точно не знаю;
например, в FVWM FAQ написано "some functionality is not available
with buttons 6 and higher" (и при этом fvwm ещё надо скомпилировать
соответствующим образом - по умолчанию он поддерживает только 5).



Подробная информация о списке рассылки community