Skip to contentSkip to conversation

Do not use synaptics extensions by default

PATCH Pavel Machek 7 participants 22 messages Jan 10, 2004 – Jan 11, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4), and touchpad senses your finger even when it is not touching, doing spurious movements => you can't hit anything on screen. Without synaptics extensions everything works just fine. You can reenable synaptics support using commandline.

Plus it documents psmouse_noext option.

Please apply,
Pavel

Documentation/kernel-parameters.txt renamed from linux/Documentation/kernel-parameters.txt +3 -1
@@ -799,8 +799,10 @@
 			before loading.
 			See Documentation/ramdisk.txt.
 
+	psmouse_noext=  [HW,MOUSE,deprecated] Equivalent to psmouse_proto=bare
+
 	psmouse_proto=  [HW,MOUSE] Highest PS2 mouse protocol extension to
-			probe for (bare|imps|exps).
+			probe for (bare|imps|exps|synaptics).
 
 	psmouse_resetafter=
 			[HW,MOUSE] Try to reset Synaptics Touchpad after so many
drivers/input/mouse/psmouse-base.c renamed from linux/drivers/input/mouse/psmouse-base.c +3 -1
@@ -31,7 +31,7 @@
 MODULE_PARM_DESC(psmouse_noext, "[DEPRECATED] Disable any protocol extensions. Useful for KVM switches.");
 
 static char *psmouse_proto;
-static unsigned int psmouse_max_proto = -1U;
+static unsigned int psmouse_max_proto = PSMOUSE_IMEX;
 module_param(psmouse_proto, charp, 0);
 MODULE_PARM_DESC(psmouse_proto, "Highest protocol extension to probe (bare, imps, exps). Useful for KVM switches.");
 
@@ -678,6 +678,8 @@
 			psmouse_max_proto = PSMOUSE_IMPS;
 		else if (!strcmp(psmouse_proto, "exps"))
 			psmouse_max_proto = PSMOUSE_IMEX;
+		else if (!strcmp(psmouse_proto, "synaptics"))
+			psmouse_max_proto = PSMOUSE_SYNAPTICS;
 		else
 			printk(KERN_ERR "psmouse: unknown protocol type '%s'\n", psmouse_proto);
 	}
Signature · 2 lines
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
#1 lore raw
Quoted 8 lines · Pavel Machek

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4), and touchpad senses your finger even when it is not touching, doing spurious movements => you can't hit anything on screen. Without synaptics extensions everything works just fine. You can reenable synaptics support using commandline.

My laptop has a dodgy trackpoint attached to the passthrough port, although the touchpad works fine. Before 2.6.1 this didn't matter, because whether by accident or design, the passthrough was disabled. Does this patch disable the passthrough port by default? If not, would it be possible to add a boot parameter or something to allow it to be disabled?

#2 lore raw
In reply to Pavel Machek
Quoted 4 lines · Pavel Machek

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4),

It is my understanding that by setting "Protocol" to "auto-dev" and "Device" to "/dev/psaux" you can freely switch between 2.4 and 2.5.

Quoted 3 lines

and touchpad senses
your finger even when it is not touching, doing spurious movements => you can't hit anything on screen.

Does the touchpad sensitivity is OK for you when using then native XFree driver? Should we bump it up a little?

Plus, there were issues in mousedev regarding PS2 emulation for touchpads in absolute mode, it should be fixed in -mm or you can try grabbing patches from http://www.geocities.com/dt_or/input/2_6_1/
You are probably mostly interesed in one that deals with mouse jitter.

Quoted 6 lines

Without synaptics extensions
everything works just fine. You can reenable synaptics support using commandline.

Plus it documents psmouse_noext option.

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

Plus, you not only disabling Synaptics extensions but Genius and Logitech's ones as well.

Quoted 2 lines

Please apply,
Pavel

Dmitry

#3 lore raw
Quoted 8 lines · Dmitry Torokhov
Quoted 4 lines · Pavel Machek

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4),

It is my understanding that by setting "Protocol" to "auto-dev" and "Device" to "/dev/psaux" you can freely switch between 2.4 and 2.5.

I work with this setting for a couple of weeks now switching between 2.4 and 2.6. The touchpad works quite well in X. (Dell inspiron 8000). I only notice I have to tap harder to get a click.

-Marcel

Quoted 36 lines
Quoted 4 lines

and touchpad senses
your finger even when it is not touching, doing spurious movements => you can't hit anything on screen.

Does the touchpad sensitivity is OK for you when using then native XFree driver? Should we bump it up a little?

Plus, there were issues in mousedev regarding PS2 emulation for touchpads in absolute mode, it should be fixed in -mm or you can try grabbing patches from http://www.geocities.com/dt_or/input/2_6_1/
You are probably mostly interesed in one that deals with mouse jitter.

Quoted 6 lines

Without synaptics extensions
everything works just fine. You can reenable synaptics support using commandline.

Plus it documents psmouse_noext option.

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

Plus, you not only disabling Synaptics extensions but Genius and Logitech's ones as well.

Quoted 2 lines

Please apply,
Pavel

Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Signature · 6 lines
     ======--------         Marcel J.E. Mol                MESA Consulting B.V.
    =======---------        ph. +31-(0)6-54724868          P.O. Box 112
    =======---------        [email protected]                 2630 AC  Nootdorp
__==== www.mesa.nl ---____U_n_i_x______I_n_t_e_r_n_e_t____ The Netherlands ____
 They couldn't think of a number,           Linux user 1148  --  counter.li.org
    so they gave me a name!  -- Rupert Hine  --  www.ruperthine.com
#4 lore raw

Hi!

Quoted 11 lines
Quoted 7 lines
Quoted 4 lines

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4),

It is my understanding that by setting "Protocol" to "auto-dev" and "Device" to "/dev/psaux" you can freely switch between 2.4 and 2.5.

I work with this setting for a couple of weeks now switching between 2.4 and 2.6. The touchpad works quite well in X. (Dell inspiron 8000). I only notice I have to tap harder to get a click.

Is there way to make it work with gpm, too? I'm using that heavily. Currently I'm doing gpm in repeater mode, then X reading from /dev/gpmdata....
Pavel

Signature · 2 lines
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
#5 lore raw
In reply to Marcel J.E. Mol
Quoted 7 lines · Marcel J.E. Mol
Quoted 6 lines · Dmitry Torokhov
Quoted 4 lines · Pavel Machek

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4),

Quoted 6 lines
Quoted 2 lines

It is my understanding that by setting "Protocol" to "auto-dev" and "Device" to "/dev/psaux" you can freely switch between 2.4 and 2.5.

I work with this setting for a couple of weeks now switching between 2.4 and 2.6. The touchpad works quite well in X. (Dell inspiron 8000). I only notice I have to tap harder to get a click.

You can adjust the sensitivity by changing the FingerLow and FingerHigh XFree86 driver parameters. They control how much finger pressure is needed before it counts as a touch. (There are two parameters to get a hysteresis effect.)

Signature · 2 lines
Peter Osterlund - [email protected]
http://w1.894.telia.com/~u89404340
#6 lore raw
In reply to Dmitry Torokhov

Hi!

Quoted 3 lines

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

My understanding is that Documentation/kernel-parameters.txt should document all available parameters...
Pavel

Signature · 2 lines
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
#7 lore raw
Quoted 8 lines · Pavel Machek

Hi!

Quoted 3 lines

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

My understanding is that Documentation/kernel-parameters.txt should document all available parameters...

Well, I wouldn't mind documenting psmouse.noext, with a comment that it shouldn't be used because it'll be removed in near future.

Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR
#8 lore raw

Hi!

Quoted 9 lines
Quoted 6 lines
Quoted 3 lines

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

My understanding is that Documentation/kernel-parameters.txt should document all available parameters...

Well, I wouldn't mind documenting psmouse.noext, with a comment that it shouldn't be used because it'll be removed in near future.

AFAICS, it is still psmouse*_*noext in mainline kernel, so this should be correct...

Pavel

Documentation/kernel-parameters.txt +3 -0
@@ -795,6 +799,9 @@
 			before loading.
 			See Documentation/ramdisk.txt.
 
+	psmouse_noext=  [HW,MOUSE,deprecated] Equivalent to psmouse_proto=bare,
+			will be removed in near future.
+
 	psmouse_proto=  [HW,MOUSE] Highest PS2 mouse protocol extension to
 			probe for (bare|imps|exps).
 
Signature · 2 lines
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
#9 lore raw
Quoted 9 lines · Pavel Machek

Hi!

Quoted 7 lines
Quoted 6 lines
Quoted 3 lines

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

My understanding is that Documentation/kernel-parameters.txt should document all available parameters...

Quoted 7 lines
Quoted 2 lines

Well, I wouldn't mind documenting psmouse.noext, with a comment that it shouldn't be used because it'll be removed in near future.

AFAICS, it is still psmouse*_*noext in mainline kernel, so this should be correct...

Pavel

No problem with this patch, though it'd be better if you could provide it against the -mm kernel for Andrew.

Quoted 17 lines
Documentation/kernel-parameters.txt +3 -0
@@ -795,6 +799,9 @@
 			before loading.
 			See Documentation/ramdisk.txt.
 
+	psmouse_noext=  [HW,MOUSE,deprecated] Equivalent to psmouse_proto=bare,
+			will be removed in near future.
+
 	psmouse_proto=  [HW,MOUSE] Highest PS2 mouse protocol extension to
 			probe for (bare|imps|exps).
 
Signature · 3 lines
-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR
#10 lore raw
Quoted 13 lines · Vojtech Pavlik
Quoted 12 lines · Pavel Machek

Hi!

Quoted 9 lines
Quoted 6 lines
Quoted 3 lines

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

My understanding is that Documentation/kernel-parameters.txt should document all available parameters...

Well, I wouldn't mind documenting psmouse.noext, with a comment that it shouldn't be used because it'll be removed in near future.

Quoted 8 lines
Quoted 4 lines

AFAICS, it is still psmouse*_*noext in mainline kernel, so this should be correct...

Pavel

No problem with this patch, though it'd be better if you could provide it against the -mm kernel for Andrew.

In Andrew's tree noext option is already gone.

Dmitry

#11 lore raw
Quoted 17 lines · Dmitry Torokhov
Quoted 16 lines · Vojtech Pavlik
Quoted 15 lines · Pavel Machek

Hi!

Quoted 9 lines
Quoted 6 lines
Quoted 3 lines

Why would you document something that is deprecated? It was removed so the new users would not start using it instead of psmouse.proto. psmouse.noext should be gone soon.

My understanding is that Documentation/kernel-parameters.txt should document all available parameters...

Well, I wouldn't mind documenting psmouse.noext, with a comment that it shouldn't be used because it'll be removed in near future.

AFAICS, it is still psmouse*_*noext in mainline kernel, so this should be correct...

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

Pavel

No problem with this patch, though it'd be better if you could provide it against the -mm kernel for Andrew.

In Andrew's tree noext option is already gone.

That makes the patch rather trivial then, doesn't it? ;)

Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR
#12 lore raw
In reply to Pavel Machek
Quoted 9 lines · Pavel Machek

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4), and touchpad senses your finger even when it is not touching, doing spurious movements => you can't hit anything on screen. Without synaptics extensions everything works just fine. You can reenable synaptics support using commandline.

Quoted 3 lines

Plus it documents psmouse_noext option.

Please apply,

No way. This also kills Logitech mouse detection and Genius and ... ... and those cannot be enabled via kernel command line parameters.

Quoted 43 lines

Pavel

Documentation/kernel-parameters.txt renamed from linux/Documentation/kernel-parameters.txt +3 -1
@@ -799,8 +799,10 @@
 			before loading.
 			See Documentation/ramdisk.txt.
 
+	psmouse_noext=  [HW,MOUSE,deprecated] Equivalent to psmouse_proto=bare
+
 	psmouse_proto=  [HW,MOUSE] Highest PS2 mouse protocol extension to
-			probe for (bare|imps|exps).
+			probe for (bare|imps|exps|synaptics).
 
 	psmouse_resetafter=
 			[HW,MOUSE] Try to reset Synaptics Touchpad after so many
drivers/input/mouse/psmouse-base.c renamed from linux/drivers/input/mouse/psmouse-base.c +3 -1
@@ -31,7 +31,7 @@
 MODULE_PARM_DESC(psmouse_noext, "[DEPRECATED] Disable any protocol extensions. Useful for KVM switches.");
 
 static char *psmouse_proto;
-static unsigned int psmouse_max_proto = -1U;
+static unsigned int psmouse_max_proto = PSMOUSE_IMEX;
 module_param(psmouse_proto, charp, 0);
 MODULE_PARM_DESC(psmouse_proto, "Highest protocol extension to probe (bare, imps, exps). Useful for KVM switches.");
 
@@ -678,6 +678,8 @@
 			psmouse_max_proto = PSMOUSE_IMPS;
 		else if (!strcmp(psmouse_proto, "exps"))
 			psmouse_max_proto = PSMOUSE_IMEX;
+		else if (!strcmp(psmouse_proto, "synaptics"))
+			psmouse_max_proto = PSMOUSE_SYNAPTICS;
 		else
 			printk(KERN_ERR "psmouse: unknown protocol type '%s'\n", psmouse_proto);
 	}
Signature · 3 lines
-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR
#13 lore raw

Hi!

Quoted 9 lines
Quoted 9 lines

..aka "make synaptics touchpad usable in 2.6.1" -- synaptics support is not really suitable to be enabled by default. You can not click by tapping the touchpad (well, unless you have very new X with right configuration, but than you can't go back to 2.4), and touchpad senses your finger even when it is not touching, doing spurious movements => you can't hit anything on screen. Without synaptics extensions everything works just fine. You can reenable synaptics support using commandline.

Quoted 6 lines
Quoted 3 lines

Plus it documents psmouse_noext option.

Please apply,

No way. This also kills Logitech mouse detection and Genius and ... ... and those cannot be enabled via kernel command line parameters.

I'm setting it to PSMOUSE_IMEX, that's just below PSMOUSE_SYNAPTICS:

#define PSMOUSE_PS2             1
#define PSMOUSE_PS2PP           2
#define PSMOUSE_PS2TPP          3
#define PSMOUSE_GENPS           4
#define PSMOUSE_IMPS            5
#define PSMOUSE_IMEX            6
#define PSMOUSE_SYNAPTICS       7

That should turn off just synaptics, no?

Okay, so how to do this properly? Synaptics driver with "mouse emulation" is not usable (tap-to-click is critical), and I want to be able to boot 2.4...

Pavel

Quoted 25 lines
Quoted 24 lines
drivers/input/mouse/psmouse-base.c renamed from linux/drivers/input/mouse/psmouse-base.c +3 -1
@@ -31,7 +31,7 @@
 MODULE_PARM_DESC(psmouse_noext, "[DEPRECATED] Disable any protocol extensions. Useful for KVM switches.");
 
 static char *psmouse_proto;
-static unsigned int psmouse_max_proto = -1U;
+static unsigned int psmouse_max_proto = PSMOUSE_IMEX;
 module_param(psmouse_proto, charp, 0);
 MODULE_PARM_DESC(psmouse_proto, "Highest protocol extension to probe (bare, imps, exps). Useful for KVM switches.");
 
@@ -678,6 +678,8 @@
 			psmouse_max_proto = PSMOUSE_IMPS;
 		else if (!strcmp(psmouse_proto, "exps"))
 			psmouse_max_proto = PSMOUSE_IMEX;
+		else if (!strcmp(psmouse_proto, "synaptics"))
+			psmouse_max_proto = PSMOUSE_SYNAPTICS;
 		else
 			printk(KERN_ERR "psmouse: unknown protocol type '%s'\n", psmouse_proto);
 	}
Signature · 3 lines
-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
Signature · 2 lines
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
#14 lore raw
Quoted 11 lines · Pavel Machek

I'm setting it to PSMOUSE_IMEX, that's just below PSMOUSE_SYNAPTICS:

#define PSMOUSE_PS2             1
#define PSMOUSE_PS2PP           2
#define PSMOUSE_PS2TPP          3
#define PSMOUSE_GENPS           4
#define PSMOUSE_IMPS            5
#define PSMOUSE_IMEX            6
#define PSMOUSE_SYNAPTICS       7

That should turn off just synaptics, no?

No. The numbers are arbitrary.

Quoted 3 lines

Okay, so how to do this properly? Synaptics driver with "mouse emulation" is not usable (tap-to-click is critical), and I want to be able to boot 2.4...

Well, if you need to boot both 2.6 and 2.4 _and_ need to use gpm and X in parallel _and_ need tap-to-click in both gpm and X, then you have to use the kernel command line parameter and put your synaptics into legacy mode.

Or, the very nice thing to do would be to port the XFree86 driver to GPM, so that GPM can understand the event protocol as well.

Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR
#15 lore raw
Quoted 4 lines · Vojtech Pavlik

Well, if you need to boot both 2.6 and 2.4 _and_ need to use gpm and X in parallel _and_ need tap-to-click in both gpm and X, then you have to use the kernel command line parameter and put your synaptics into legacy mode.

Using psmouse_proto=imps? Or something else?

Will this also result in the passthough port not being enabled? (I'd like to disable it.)

#16 lore raw
Quoted 6 lines · Sean Neakums
Quoted 4 lines

Well, if you need to boot both 2.6 and 2.4 _and_ need to use gpm and X in parallel _and_ need tap-to-click in both gpm and X, then you have to use the kernel command line parameter and put your synaptics into legacy mode.

Using psmouse_proto=imps? Or something else?

Yes, that one.

Quoted 2 lines

Will this also result in the passthough port not being enabled? (I'd like to disable it.)

It depends on the touchpad firmware. Most leave it enabled. In this mode we don't have any control over the passthrough port.

Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR
#17 lore raw
Quoted 10 lines · Vojtech Pavlik
Quoted 6 lines · Sean Neakums
Quoted 4 lines

Well, if you need to boot both 2.6 and 2.4 _and_ need to use gpm and X in parallel _and_ need tap-to-click in both gpm and X, then you have to use the kernel command line parameter and put your synaptics into legacy mode.

Using psmouse_proto=imps? Or something else?

Yes, that one.

I tried 2.6.1 with that option set as above, and also with it set to base. In both cases I don't seem to get tap-to-click. In 2.6.1-rc1-mm1 with psmouse_noext=1, I get tap-to-click.

Quoted 5 lines
Quoted 2 lines

Will this also result in the passthough port not being enabled? (I'd like to disable it.)

It depends on the touchpad firmware. Most leave it enabled. In this mode we don't have any control over the passthrough port.

I notice that the passthrough appears as an extra device (mouse1 on my system). Is there a way to disable devices from userspace? I did find the place in the synaptics driver that looks like it is where the passthrough port is registered, so I guess I could take that out as a last resort. But it's a pain having to remember to patch my kernel every time I upgrade.

#18 lore raw
Quoted 4 lines · Sean Neakums
Quoted 2 lines · Vojtech Pavlik

On Sat, Jan 10, 2004 at 08:18:22PM +0000, Sean Neakums wrote:

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

Will this also result in the passthough port not being enabled? (I'd like to disable it.)

It depends on the touchpad firmware. Most leave it enabled. In this mode we don't have any control over the passthrough port.

I notice that the passthrough appears as an extra device (mouse1 on my system). Is there a way to disable devices from userspace?

You can write a program that grabs the event device for exclusive access and then just ignores all events, like this:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

/* From linux/include/linux/input.h */

struct input_event {
    struct timeval time;
    unsigned short type;
    unsigned short code;
    unsigned int value;
};

#define EVDEV "/dev/input/event0"

#define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */

int main(int argc, char* argv[])

{
    const char* devName = EVDEV;
    int fd;
    int ret;

    if (argc > 1)
	devName = argv[1];

    fd = open(devName, O_RDONLY);
    if (fd < 0) {
	fprintf(stderr, "Can't open file %s, errno:%d (%s)\n",
		devName, errno, strerror(errno));
	exit(1);
    }

    ret = ioctl(fd, EVIOCGRAB, 1);
    if (ret < 0) {
	printf("Can't grab event device, errno:%d (%s)\n",
	       errno, strerror(errno));
	exit(1);
    }

    for (;;) {
	struct input_event ev;
	read(fd, &ev, sizeof(ev));
    }

    close(fd);
    return 0;
}
Signature · 2 lines
Peter Osterlund - [email protected]
http://w1.894.telia.com/~u89404340
#19 lore raw
Quoted 9 lines · Peter Osterlund
Quoted 7 lines · Sean Neakums
Quoted 5 lines · Vojtech Pavlik
Quoted 2 lines · Sean Neakums

Will this also result in the passthough port not being enabled? (I'd like to disable it.)

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

It depends on the touchpad firmware. Most leave it enabled. In this mode we don't have any control over the passthrough port.

I notice that the passthrough appears as an extra device (mouse1 on my system). Is there a way to disable devices from userspace?

You can write a program that grabs the event device for exclusive access and then just ignores all events, like this:

That works great. Thank you!

#20 lore raw
In reply to Vojtech Pavlik
Quoted 2 lines · Vojtech Pavlik

Or, the very nice thing to do would be to port the XFree86 driver to GPM, so that GPM can understand the event protocol as well.

Already done...

# rpm -q gpm
gpm-1.20.1-dt8
# ps -e o pid,user,cmd | grep gpm
 2068 root     gpm -m /dev/input/event0 -t evdev -o type=synaptics -M -m /dev/input/mice -t imps2

I believe the issue is that /dev/input/event0 can't be opened by multiple things (gpm and X) in 2.4 as can be done in 2.6.

Dax Kelson
Guru Labs

#21 lore raw
Quoted 5 lines · Dax Kelson
Quoted 2 lines · Vojtech Pavlik

Or, the very nice thing to do would be to port the XFree86 driver to GPM, so that GPM can understand the event protocol as well.

Already done...

Cool! I forgot. I thought only the regular mouse event protocol was added.

Quoted 8 lines
# rpm -q gpm
gpm-1.20.1-dt8
# ps -e o pid,user,cmd | grep gpm
 2068 root     gpm -m /dev/input/event0 -t evdev -o type=synaptics -M -m /dev/input/mice -t imps2

I believe the issue is that /dev/input/event0 can't be opened by multiple things (gpm and X) in 2.4 as can be done in 2.6.

It can be opened by any number of programs on both 2.4 and 2.6. 2.4 doesn't have the synaptics (or any other ps/2) mouse driver and thus it's only used for USB mice.

Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR