Bug 14355 - чудеса с мышами
: чудеса с мышами
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/xorg-x11-server)
: unstable
: all Linux
: P2 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-02-07 11:58 by
Modified: 2008-08-13 22:33 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-02-07 11:58:01
Ранее в конфиге были прописаны три мыши, 
одна CorePointer, вторая AlwaysCore .. 

Согласно рекомендациям убрал эти *Core*. В результате в системе стал проявляться
тройной(!!) клик. Его можно уменьшить до двойного (ха, ха, за), сократив
количество записей мышей до одной, но ...

Полностью проблема решается только при соблюдении следующих условий:
1. мышь одна
2. протокол auto (это не уверен, но уже устал перебирать комбинации)
3. сказано что она CorePointer (как только убираю CorePointer, тут же начинает
свистопляска)

В общем это абзац и хотелось бы узнать в свете наших конфигураторов xorg как же
нынче принято прописывать мыши, например если их три:
1. внешняя USB
2. touchpad
3. "пипка", не помню как это по-умному называется.

Эта же проблема была и на 64 битах с одной прописанной мышью, сейчас не могу
проверить, но скорее всего проблема решится если я пропишу там CorePointer и
возможно поменяю протокол с IMPS/2 на Auto.
------- Comment #1 From 2008-02-07 14:42:45 -------
(In reply to comment #0)
> Ранее в конфиге были прописаны три мыши, 
> одна CorePointer, вторая AlwaysCore .. 

зачем?

> 
> Согласно рекомендациям убрал эти *Core*. В результате в системе стал 
проявляться
> тройной(!!) клик. Его можно уменьшить до двойного (ха, ха, за), сократив
> количество записей мышей до одной, но ...

CorePointer верни

> 
> Полностью проблема решается только при соблюдении следующих условий:
> 1. мышь одна
> 2. протокол auto (это не уверен, но уже устал перебирать комбинации)
> 3. сказано что она CorePointer (как только убираю CorePointer, тут же 
начинает
> свистопляска)
> 
> В общем это абзац и хотелось бы узнать в свете наших конфигураторов xorg как 
же
> нынче принято прописывать мыши, например если их три:
> 1. внешняя USB
> 2. touchpad
> 3. "пипка", не помню как это по-умному называется.

$ cat /proc/bus/input/devices | grep ^N | tail -3
N: Name="SynPS/2 Synaptics TouchPad"
N: Name="TPPS/2 IBM TrackPoint"
N: Name="Logitech USB Receiver"

xorg.conf
...
Section "InputDevice"
        Identifier      "TrackPoint"
        Driver  "mouse"
        Option  "Protocol"              "IMPS/2"
        Option  "Device"                "/dev/input/mice"
        Option  "ZAxisMapping"          "4 5"
        Option  "EmulateWheel"          "true"
        Option  "EmulateWheelButton"    "3"
        Option  "EmulateWheelInertia"   "10"
        Option  "EmulateWheelTimeout"   "200"
EndSection
...
Section "ServerLayout"
        Identifier      "ThinkPad T41"
        Screen          "IBM"
        InputDevice     "TrackPoint"    "CorePointer"
        InputDevice     "ThinkPad"      "CoreKeyboard"
EndSection

ни двойных, не тем более тройных кликов

> 
> Эта же проблема была и на 64 битах с одной прописанной мышью, сейчас не могу
> проверить, но скорее всего проблема решится если я пропишу там CorePointer и
> возможно поменяю протокол с IMPS/2 на Auto.

------- Comment #2 From 2008-02-08 09:57:26 -------
Section "ServerLayout"
        Identifier     "Minimal layout"
        Screen         "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Macintosh mouse button emulation|0" "CorePointer"
#        InputDevice    "Logitech USB Receiver|1" "AlwaysCore"
EndSection

Section "ServerFlags"
        Option      "AllowMouseOpenFail" "true"
EndSection

Section "InputDevice"
        Identifier  "Macintosh mouse button emulation|0"
        Driver      "mouse"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "IMPS/2"
        Option      "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
        Identifier  "Logitech USB Receiver|1"
        Driver      "mouse"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "IMPS/2"
EndSection

Сгенерированный конфиг, троекликная проблема (видимо после последнего 
обновления иксов выскочила, заметил по перезагрузке)

Решилась комментированием того, что закомментировано :-)

Мышь одна.

------- Comment #3 From 2008-02-08 15:27:29 -------
(In reply to comment #1)
> (In reply to comment #0)
> > Ранее в конфиге были прописаны три мыши, 
> > одна CorePointer, вторая AlwaysCore .. 
> 
> зачем?
Раньше это надо было, вот конфигуратор везде и прописывал. Разве не так?


Так что сейчас только одну мышь всегда и везде прописывать?
А как быть с драйверами типа Synaptics?



------- Comment #4 From 2008-02-08 15:37:12 -------
> Раньше это надо было, вот конфигуратор везде и прописывал. Разве не так?

нет, не так. две записи на один девайс (/dev/input/mice) соответственно будут 
обрабатываться два раза

> Так что сейчас только одну мышь всегда и везде прописывать?
> А как быть с драйверами типа Synaptics?
использовать для mouse и synaptics разные Device
------- Comment #5 From 2008-02-08 15:43:03 -------
(In reply to comment #4)
> > Раньше это надо было, вот конфигуратор везде и прописывал. Разве не так?
> 
> нет, не так. две записи на один девайс (/dev/input/mice) соответственно будут 
> обрабатываться два раза
> 
> > Так что сейчас только одну мышь всегда и везде прописывать?
> > А как быть с драйверами типа Synaptics?
> использовать для mouse и synaptics разные Device
О .. уже легче ;)
А как выяснять для кого какой девайс используется?
Особенно интересует TrackPoint и USB-шная мышь.


------- Comment #6 From 2008-02-08 15:47:27 -------
Ещё в тему вопросы:
1. Можно ли пользоваться /dev/input/event* ?
2. synaptics - это драйвер для всех тачпадов или только определённых?


(In reply to comment #5)
> (In reply to comment #4)
> > > Раньше это надо было, вот конфигуратор везде и прописывал. Разве не так?
> > 
> > нет, не так. две записи на один девайс (/dev/input/mice) соответственно будут 
> > обрабатываться два раза
> > 
> > > Так что сейчас только одну мышь всегда и везде прописывать?
> > > А как быть с драйверами типа Synaptics?
> > использовать для mouse и synaptics разные Device
> О .. уже легче ;)
> А как выяснять для кого какой девайс используется?
> Особенно интересует TrackPoint и USB-шная мышь.
> 
> 
> 

------- Comment #7 From 2008-02-08 15:58:57 -------
> О .. уже легче ;)
> А как выяснять для кого какой девайс используется?
> Особенно интересует TrackPoint и USB-шная мышь.

$ cat /proc/bus/input/devices

(In reply to comment #6)
> Ещё в тему вопросы:
> 1. Можно ли пользоваться /dev/input/event* ?

не стоит. номер у event может меняться от загрузке к загрузке. 
использовать /dev/input/by-name/* не предлагаю, т.к. там имена индивидуальны 
для каждой модели мыши

> 2. synaptics - это драйвер для всех тачпадов или только определённых?

назначение сего драйвера мне не известно, хоть в /proc/bus/input/devices 
данные буковки присутствуют для моего тачпада :)
------- Comment #8 From 2008-02-08 16:01:32 -------
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input0
H: Handlers=kbd event0 
B: EV=120013
B: KEY=4 2000000 3802078 f840d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input1
H: Handlers=kbd event1 
B: EV=40001
B: SND=6

I: Bus=0011 Vendor=0002 Product=0008 Version=0000
N: Name="PS/2 Mouse"
P: Phys=isa0060/serio1/input1
S: Sysfs=/class/input/input2
H: Handlers=mouse0 event2 ts0 
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0002 Product=0008 Version=6337
N: Name="AlpsPS/2 ALPS GlidePoint"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input3
H: Handlers=mouse1 event3 ts1 
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003

I: Bus=0003 Vendor=046d Product=c510 Version=3410
N: Name="Logitech USB Receiver"
P: Phys=usb-0000:00:1d.2-1/input0
S: Sysfs=/class/input/input4
H: Handlers=mouse2 event4 ts2 
B: EV=7
B: KEY=ffff0000 0 0 0 0 0 0 0 0
B: REL=143
------- Comment #9 From 2008-02-08 16:04:24 -------
вообще, Стас, предлагаю не заморачиваться по поводу устройств ввода.
проделай следующее:
1. # apt-get install libXiconfig
2. закоментируй в xorg.conf все упоминания об устройствах ввода
3. # service haldaemon restart
4. рестартани иксы
------- Comment #10 From 2008-02-08 16:09:01 -------
(In reply to comment #9)
> вообще, Стас, предлагаю не заморачиваться по поводу устройств ввода.
> проделай следующее:

COM мыши будут работать ?
------- Comment #11 From 2008-02-08 16:14:04 -------
(In reply to comment #7)
> использовать /dev/input/by-name/* не предлагаю, т.к. там имена индивидуальны 
> для каждой модели мыши

/dev/input/by-name у меня нет.

а вот /dev/input/by-path есть.

# ls -la |grep mouse
lrwxrwxrwx 1 root root   9 Feb  8 02:09 platform-i8042-serio-1-event-mouse ->
../event8
lrwxrwxrwx 1 root root   9 Feb  8 02:09 platform-i8042-serio-1-mouse -> ../mouse1

Разве имена ссылок будут меняться ?
------- Comment #12 From 2008-02-08 16:25:53 -------
(In reply to comment #10)
> (In reply to comment #9)
> > вообще, Стас, предлагаю не заморачиваться по поводу устройств ввода.
> > проделай следующее:
> 
> COM мыши будут работать ?

1. их оочень давно нет в продаже
2. цена самой дешевой PS/2 мыши 60 рублей
3. затраты на поддержку COM мышей много больше чем 60 рублей

из вышеприведенных пунктов следует что это экономически не выгодно


(In reply to comment #11)
> platform-i8042-serio-1-mouse -> ../mouse1
> 
> Разве имена ссылок будут меняться ?

попробуй повтыкать usb мышь в разные порты
------- Comment #13 From 2008-02-08 16:31:00 -------
COM мыши нам нужны для школьного линукса.
Можно ли часть устройств прописывать самому?
------- Comment #14 From 2008-02-08 16:32:10 -------
Собственно комовые мыши не проблема - я могу дописать их если хал никого не
найдёт в системе ... а вот что делать с синаптиками и будут ли работать
одновременно usb + ps/2 ?
------- Comment #15 From 2008-02-08 16:33:41 -------
(In reply to comment #12)
> из вышеприведенных пунктов следует что это экономически не выгодно

Валер, Стас добавил поддержку этих мышей не от хорошей жизни ... это
потребовалась в Junior. Как оказалось, в школах есть много машин без возможности
воткнуть PS/2 мышь. Так что к сожалению, для нашей страны эта проблема ещё
актуальна. :(

Вопрос по libXiconfig: Если убрать все настройки мышей из xorg.conf и на машине
есть несколько мышей (например Thinkpad + USB + PS/2), то он будет с одним
устройством или со всеми сразу ?
------- Comment #16 From 2008-02-08 16:49:05 -------
с libXiconfig/hal будет работать все кроме COM мышей. COM мыши можно прописать 
в xorg.conf руками
------- Comment #17 From 2008-02-09 15:04:46 -------
(In reply to comment #0)
> Согласно рекомендациям убрал эти *Core*.
Это какие-то неправильные рекомендации -- можно ссылку? 
CorePointer/CoreKeyboard действительно нужны AFAIK.

(In reply to comment #2)
> 1. Можно ли пользоваться /dev/input/event* ?
Они плавают.

> 2. synaptics - это драйвер для всех тачпадов или только определённых?
Для тачпадов Synaptics.  Их подавляющее большинство как минимум, но не уверен,
что "всех".

(In reply to comment #16)
> с libXiconfig/hal будет работать все кроме COM мышей.
> COM мыши можно прописать в xorg.conf руками
Сейчас они прописываются alterator-x11, если не найдено ничего другого.

---

Эта бага -- INVALID?
------- Comment #18 From 2008-02-09 15:06:07 -------
(In reply to comment #17)
> > 1. Можно ли пользоваться /dev/input/event* ?
> Они плавают.

/dev/input/{by-id,by-path} зато не плавают.
------- Comment #19 From 2008-02-11 09:48:58 -------
(In reply to comment #16)
> с libXiconfig/hal будет работать все кроме COM мышей. COM мыши можно прописать 
> в xorg.conf руками
OK, отлично, для меня остаётся неясным только:

1. Что делать с synaptics (в принципе наверное не очень сложно патчик сделать на
libXiConfig) ... но в принципе можно некоторое время и без него прожить.
2. Возможно ли будет собрать эту библиотеку под branch 4.0 ?

------- Comment #20 From 2008-02-11 10:16:41 -------
> 
> Эта бага -- INVALID?

К сожалению нет. 
Дома на ati doubleclick пропал, а на рабочей тачке на nvidia всё также
воспроизводится, даже при наличии corePointer.
------- Comment #21 From 2008-02-11 10:17:43 -------
(In reply to comment #20)
> > 
> > Эта бага -- INVALID?
> 
> К сожалению нет. 
> Дома на ati doubleclick пропал, а на рабочей тачке на nvidia всё также
> воспроизводится, даже при наличии corePointer.
> 

Причём замечу - в данном случае это не тотальное размножение кликов (когда даже
меню нельзя открыть), а именно race, который возникает время от времени.
------- Comment #22 From 2008-02-11 15:48:36 -------
> 1. Что делать с synaptics

ничего. он в любом случае не рабочий

> (в принципе наверное не очень сложно патчик сделать на
> libXiConfig) ... но в принципе можно некоторое время и без него прожить.

все устройства ввода сейчас обрабатываются драйвером evdev (точнее должны)

> 2. Возможно ли будет собрать эту библиотеку под branch 4.0 ?

в xorg-server-1.3 нет input-hotplug
------- Comment #23 From 2008-06-27 13:13:15 -------
для xorg-server-1.4 уже не актуально