Hi Ulf,
> For example, when typing triggers a cursor jump, it could be that an
> "oversensitive" touchpad or trackpoint issues a motion event. You could
> verify or discard that by looking at the output of
> $ xinput test /dev/wsmouse2
> (or wsmouse0 for the touchpad) while you are testing.
>
> In order to avoid confusion, you might leave out /dev/wsmouse and disable
> it instead, with
> $ xinput disable /dev/wsmouse
> Disabling it via an xorg.conf with MatchDevicePath and the "Ignore" option
> doesn't work.
>
> I assume that wsmouse1 - that is, the instance attached to ims - does
> nothing (except for causing an initialization error when you have
> configured the synaptics driver).
>
> Events from the touchpad should be reported via wsmouse0, and trackpoint
> events via wsmouse2. Anything else would be unusual.
Ok, I've made the following three tests, all using my "normal" xorg.conf:
--- begin /etc/X11/xorg.conf---
Section "InputClass"
Identifier "wsmouse touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
EndSection
--- end /etc/X11/xorg.conf---
===== test #1 (input devices disabled) =====
restart X server (as root, 'pkill X')
login as normal user
this gives the following X input devices:
--- begin 'xinput list' output ---
+ Virtual core pointer id=2 [master pointer (3)]
| + Virtual core XTEST pointer id=4 [slave pointer (2)]
| + /dev/wsmouse0 id=7 [slave pointer (2)]
| + /dev/wsmouse id=8 [slave pointer (2)]
+ Virtual core keyboard id=3 [master keyboard (2)]
+ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
+ /dev/wskbd id=6 [slave keyboard (3)]
--- end 'xinput list' output ---
now run 'xinput test /dev/wsmouse0' in one xterm,
and 'xinput test /dev/wsmouse' in another xterm,
Now I moved the cursor to a 3rd xterm and used 'vi' to edit this message.
For a minute or two (during which time was typing, and also made a few
cursor movements) there were no cursor jumps and neither 'xinput test'
produced any output. (I found this surprising -- I was expecting motion
events from at least one of the 'xinput test' instances.) Then
'xinput test /dev/wsmouse0' produced the first 2 lines of output shown
below (but there was no cursor jump at that time). A bit later the cursor
jumped (for the first time in this test) and 'xinput test /dev/wsmouse0'
produced the remainder of the output shown below. 'xinput test /dev/wsmouse'
never produce any output during this test.
--- begin 'xinput test /dev/wsmouse0' output ---
motion a[0]=466 a[1]=280
motion a[0]=925 a[1]=491
motion a[0]=0 a[1]=34
motion a[0]=0 a[1]=46
motion a[0]=0 a[1]=60
motion a[1]=89
motion a[1]=103
motion a[1]=118
motion a[0]=0 a[1]=132
motion a[0]=4 a[1]=145
motion a[0]=471 a[1]=361
motion a[0]=448 a[1]=369
--- end 'xinput test /dev/wsmouse0' output ---
===== test #2 (disabling /dev/wsmouse) =====
restart X server (as root, 'pkill X')
login as normal user
this gives the following X input devices:
--- begin 'xinput list' output ---
+ Virtual core pointer id=2 [master pointer (3)]
| + Virtual core XTEST pointer id=4 [slave pointer (2)]
| + /dev/wsmouse0 id=7 [slave pointer (2)]
| + /dev/wsmouse id=8 [slave pointer (2)]
+ Virtual core keyboard id=3 [master keyboard (2)]
+ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
+ /dev/wskbd id=6 [slave keyboard (3)]
--- end 'xinput list' output ---
now (as normal user) 'xinput disable /dev/wsmouse'
this gives the following X input devices:
--- begin 'xinput list' output ---
+ Virtual core pointer id=2 [master pointer (3)]
| + Virtual core XTEST pointer id=4 [slave pointer (2)]
| + /dev/wsmouse0 id=7 [slave pointer (2)]
+ Virtual core keyboard id=3 [master keyboard (2)]
+ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
+ /dev/wskbd id=6 [slave keyboard (3)]
??? /dev/wsmouse id=8 [floating slave]
--- end 'xinput list' output ---
The status now is:
* the touchpad works fine for moving the cursor
* the cursor never jumps when making such movements
* the trackpoint ("nipple") has no effect
* the touchpad buttons have no effect
In this condition, 'xinput test /dev/wsmouse0' does show events
for most cursor movements (done with the touchpad). In particular,
I *never* saw events when moving the cursor around within a window.
For window-crossing cursor movements I occasionally (maybe 1/5 of the time)
saw events, but usually saw no events. (All the windows in quesions
were in fact xterms.)
Here is some sample 'xinput test /dev/wsmouse0' output in this condition,
showing the events I did see for window-crossing cursor movements:
--- begin 'xinput test /dev/wsmouse0' output
motion a[0]=480 a[1]=356
motion a[0]=921 a[1]=301
motion a[0]=1046 a[1]=469
motion a[0]=899
motion a[1]=471
motion a[0]=449 a[1]=518
--- end 'xinput test /dev/wsmouse0' output
===== test #3 (disabling /dev/wsmouse0) =====
restart X server (as root, 'pkill X')
login as normal user
this gives the following X input devices:
--- begin 'xinput list' output ---
+ Virtual core pointer id=2 [master pointer (3)]
| + Virtual core XTEST pointer id=4 [slave pointer (2)]
| + /dev/wsmouse0 id=7 [slave pointer (2)]
| + /dev/wsmouse id=8 [slave pointer (2)]
+ Virtual core keyboard id=3 [master keyboard (2)]
+ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
+ /dev/wskbd id=6 [slave keyboard (3)]
--- end 'xinput list' output ---
now (as normal user) 'xinput disable /dev/wsmouse0'
this gives the following X input devices:
--- begin 'xinput list' output ---
+ Virtual core pointer id=2 [master pointer (3)]
| + Virtual core XTEST pointer id=4 [slave pointer (2)]
| + /dev/wsmouse id=8 [slave pointer (2)]
+ Virtual core keyboard id=3 [master keyboard (2)]
+ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
+ /dev/wskbd id=6 [slave keyboard (3)]
??? /dev/wsmouse0 id=7 [floating slave]
--- end 'xinput list' output ---
The status now is:
* the touchpad works fine for moving the cursor
* the trackpoint ("nipple") works fine for moving the cursor
* the cursor *always* jumps at the start of each movement
(whether via touchpad or via the trackpoint ("nipple")
* the touchpad buttons work fine
In this condition, 'xinput test /dev/wsmouse' shows events
for some (about 1/2, I'd say), but not all, cursor movements
(all of which have a cursor-jump at the start of the movement).
I didn't notice any difference between within-window movements
and window-crossing movements.
Here is some sample 'xinput test /dev/wsmouse' output showing the
events I did see in this condition: when moving the cursor:
--- begin 'xinput test /dev/wsmouse' output
motion a[0]=0 a[1]=39
motion a[0]=0 a[1]=50
motion a[0]=0 a[1]=60
motion a[0]=0 a[1]=69
motion a[0]=0 a[1]=79
motion a[0]=0 a[1]=114
motion a[0]=0 a[1]=123
motion a[0]=0 a[1]=130
motion a[0]=0 a[1]=137
motion a[0]=0 a[1]=143
motion a[0]=0 a[1]=149
motion a[0]=0 a[1]=156
motion a[0]=0 a[1]=162
motion a[1]=167
motion a[0]=0 a[1]=171
motion a[0]=0 a[1]=173
motion a[1]=175
motion a[0]=0 a[1]=177
motion a[1]=179
motion a[1]=180
motion a[0]=2
motion a[0]=0
motion a[0]=3
motion a[0]=11 a[1]=178
motion a[0]=1 a[1]=130
motion a[0]=2 a[1]=129
motion a[0]=3 a[1]=128
motion a[0]=4
motion a[0]=0 a[1]=48
motion a[0]=0 a[1]=61
motion a[0]=0 a[1]=74
motion a[0]=0 a[1]=86
motion a[0]=0 a[1]=122
motion a[0]=0 a[1]=134
motion a[0]=0 a[1]=145
motion a[0]=0 a[1]=154
motion a[0]=0 a[1]=165
motion a[0]=0 a[1]=175
motion a[0]=0 a[1]=183
motion a[0]=0 a[1]=191
motion a[0]=0 a[1]=199
motion a[0]=0 a[1]=206
motion a[0]=0 a[1]=211
motion a[1]=215
motion a[0]=0 a[1]=217
motion a[1]=220
--- end 'xinput test /dev/wsmouse' output
Does this tell you anything interesting?
--
-- "Jonathan Thornburg [remove -color to reply]" <[email protected]>
he/him; on the west coast of Canada; https://www.bkis-orchard.net/
"!07/11 PDP a ni deppart m'I !pleH" -- slashdot.org page footer, 2022-10-16
"eHpl !'I mrtpaep dnia P PD1 /107" -- slightly more plausible message given
the PDP-11's little-endian byte order