Skip to contentSkip to conversation

SERIO_USERDEV patch for 2.6

DISCUSSION Dmitry Torokhov 2 participants 2 messages Jun 2, 2004 – Jun 3, 2004

lore
Share & tools
lore
#0 lore raw
Quoted 10 lines · Giuseppe Bilotta
Quoted 9 lines · Dmitry Torokhov
Quoted 7 lines · Giuseppe Bilotta
Quoted 3 lines · Dmitry Torokhov

echo "rawdev" > /sys/bus/serio/devices/serio0/driver

or something alont these lines. At least that's my grand plan ;)

I like this kind of idea. Many options should be settable this way (think for example about Synaptics and ALPS touchpad

Quoted 6 lines
Quoted 6 lines

Yes, exactly, it will allow much more flexible option handling. Still, as far as your examples go:

Quoted 2 lines

configurations: whether to use multipointers separately or together,

- userspace task - always persent separate devices and have

application

Quoted 4 lines
Quoted 1 line

(GPM or X) multiplex data together.

Ok, in this case your ALPS patch need a little working ;) (Last time I saw it it ORed the touchpad and stick values.)

Yes it needs indeed. I have something here that treats stick as a mouse on a passthrough port, much like Synaptics driver. It's not ready for publishing yet though.

Quoted 5 lines
Quoted 4 lines
Quoted 2 lines

(de)activation of tapping,

- may be userspace task - i.e can be done in userspace if device can report BTN_TOUCH event. If not then kernel has to toggle it.

Quoted 7 lines
Quoted 2 lines
Quoted 1 line

button remapping etc).

- userspace task

When you say "userspace task", are you saying that the filtering out of, say, BTN_TOUCH events should happen at a higher level than the kernel driver not reporting them at all? Say, in gpm?

Exactly. If you check Peter Osterlund's X driver or my GPM patches you will see that they get BTN_TOUCH or even ABS_PRESSURE events and then decide for themselves what should be considered a tap and what is not. And the logic is not dependent on a particular model but rather on set of capabilities that device reports.

Kernel task is to convert data from individual devices into unified representation and userpace task is to do with that data whatever it wants. X driver does not (should not) care whether a mouse is a serial or PS/2 or USB. It only wants to know that it reports 2 relative axis motions and has X number of buttons and X number of wheels.

Now operation of a touchscreen is different from operation of touchpad which is different from standard mouse and userspace has to distinguish between these, but that's because they are different classes of input devices and should be handled [slightly] differently.

--
Dmitry

#1 lore raw
Quoted 7 lines · Dmitry Torokhov
Quoted 2 lines · Giuseppe Bilotta

Ok, in this case your ALPS patch need a little working ;) (Last time I saw it it ORed the touchpad and stick values.)

Yes it needs indeed. I have something here that treats stick as a mouse on a passthrough port, much like Synaptics driver. It's not ready for publishing yet though.

Ok, thanks.

Quoted 10 lines
Quoted 4 lines

When you say "userspace task", are you saying that the filtering out of, say, BTN_TOUCH events should happen at a higher level than the kernel driver not reporting them at all? Say, in gpm?

Exactly. If you check Peter Osterlund's X driver or my GPM patches you will see that they get BTN_TOUCH or even ABS_PRESSURE events and then decide for themselves what should be considered a tap and what is not. And the logic is not dependent on a particular model but rather on set of capabilities that device reports.

I see and get the point.

Quoted 11 lines

Kernel task is to convert data from individual devices into unified representation and userpace task is to do with that data whatever it wants. X driver does not (should not) care whether a mouse is a serial or PS/2 or USB. It only wants to know that it reports 2 relative axis motions and has X number of buttons and X number of wheels.

Now operation of a touchscreen is different from operation of touchpad which is different from standard mouse and userspace has to distinguish between these, but that's because they are different classes of input devices and should be handled [slightly] differently.

I guess the problem with X is that it has to work on a wide variety of systems, not all of which expose the same capabilities the same way, which is why it has the tendency to prefer direct acces ...

Signature · 7 lines
Giuseppe "Oblomov" Bilotta

Can't you see
It all makes perfect sense
Expressed in dollar and cents
Pounds shillings and pence
                  (Roger Waters)