[Hardware] Touchpad+PS/2_wheel_mouse

Sergey Vlasov vsu на altlinux.ru
Ср Июл 27 13:12:46 MSD 2005


On Wed, Jul 27, 2005 at 09:45:05AM +0300, andriy_l wrote:
> Имеется ноутбук с Touchpad'ом   и    мышь  с  колесом (PS/2)
> 
> Работают оба девайса, но колесо на мыше скролить в X-ах отказывается.
> 
> Хотя поддерку колеса в XF86Config и прописал каждому девайсу
> (XF86Config у меня имеет 2 секции)
> 
> Как заставить колесо работать в X-ах?
> Как вообще идентифицировать отдельно каждый из етих 2 девайсов,
> если они оба  PS/2 по сути (/dev/psaux)?

Видимо, только поставив ядро 2.6.x (теоретически соответствующая поддержка
может присутствовать и в каких-то userspace-драйверах, пригодных для ядер
2.4.x, но я таких драйверов не видел).  В ядрах 2.6.x драйверы для PS/2
устройств находятся в ядре, а /dev/psaux - это то же, что и
/dev/input/mice.  В ядрах 2.4.x устройство /dev/psaux даёт только доступ к
порту PS/2, и обращающиеся к нему программы (X, gpm) должны сами
поддерживать используемый устройством протокол обмена.

Вообще подключение нескольких указывающих устройств к порту PS/2 может
быть организовано несколькими способами:

1) Контроллер может иметь больше одного входа PS/2 и поддерживать стандарт
PS/2 Active Multiplexing - в этом случае без дополнительной инициализации
контроллер объединяет пакеты от всех устройств в единый поток (причём, как
правило, поддерживается только стандартный 3-байтовый протокол, из-за чего
в этом режиме колесо и другие расширенные возможности недоступны).  Если
драйвер поддерживает Active Multiplexing, он может перевести контроллер в
полнофункциональный режим, в котором возможна независимая работа с
физическими портами контроллера; при этом становится возможным
использование 4-байтовых протоколов (IMPS/2, ExplorerPS/2) для отдельных
портов, к которым подключены соответствующие устройства.  Поддержка Active
Multiplexing может быть реализована только на уровне драйвера ядра
(меняется смысл некоторых разрядов регистров контроллера, доступа только к
потоку байтов недостаточно); в ядрах 2.4.x этот режим не поддерживается.

2) Некоторые устройства (Synaptics, Alps touchpad) имеют passthrough port
и могут передавать данные, полученные с этого порта, в пакетах своего
расширенного протокола (эти устройства используют 6-байтовые пакеты, для
passthrough-порта могут использоваться 3-байтовые и 4-байтовые протоколы).
Вот этот режим теоретически можно было бы реализовать и через /dev/psaux в
ядрах 2.4.x.  
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zz-jЖ╒∙╕Еy<╘y╙i√'╤*'Ч≤)╡('jш╚y(Ё{_=o+^╟7╛rz-jЖ╒∙╕ЕyJЕ├шiЪЫb╡ш√ыb·Лk╩Зb╔ЙФj)┘╙ща╙чЩ╚miхfz{lЪm4ГNЖОЧ^уЪ5Еъз╤ж°├g╖╣╦╖


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