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.