RFC: make GS evdev relative by default
Bernardo Innocenti
bernie at codewiz.org
Wed Oct 10 16:21:32 EDT 2007
NOTE: as the subject says, this is really just being released
for *comment*. Not as a candidate patch.
It seem to be needing this to get the GS to work fine with
xf86-input-evdev 1.2, the version of the driver updated for the
X sever 1.4.
I'm not sure why, but if I leave the GS in absolute mode, only
the Y axis works fine. The X axis gets stuck all the way to the
left of the screen.
I have to admit I forgot why I had to disable the ABS_PRESSURE
axis. Probably not needed, but I need to re-test just in case.
One last thing: where do those magic numbers 350, 512, 70 and 325
come from? They may have something to do with this bug:
https://dev.laptop.org/ticket/4055
If you want to reproduce my test environment, just download this
file to /etc/yum.repo.d directory on your laptop:
http://www.codewiz.org/pub/olpc-bernie/olpc-bernie.repo
Then, just do a "yum update". Let me know if you need additional
tweaks to get it to work.
diff --git a/drivers/input/mouse/olpc.c b/drivers/input/mouse/olpc.c
index dc575ac..daf2483 100644
--- a/drivers/input/mouse/olpc.c
+++ b/drivers/input/mouse/olpc.c
@@ -508,10 +508,12 @@ int olpc_init(struct psmouse *psmouse)
dev2->keybit[LONG(BTN_TOOL_FINGER)] |= BIT(BTN_TOOL_FINGER);
dev2->keybit[LONG(BTN_LEFT)] |= BIT(BTN_LEFT) | BIT(BTN_RIGHT);
+ // bernie: argh -- needed for hal to see it as a mouse
+ dev2->relbit[LONG(REL_X)] |= BIT(REL_X) | BIT(REL_Y);
dev2->evbit[LONG(EV_ABS)] |= BIT(EV_ABS);
input_set_abs_params(dev2, ABS_X, 350, 512, 0, 0);
input_set_abs_params(dev2, ABS_Y, 70, 325, 0, 0);
- input_set_abs_params(dev2, ABS_PRESSURE, 0, 63, 0, 0);
+// input_set_abs_params(dev2, ABS_PRESSURE, 0, 63, 0, 0);
if (input_register_device(dev2)) {
printk(KERN_ERR __FILE__ ": Failed to register GlideSensor\n");
--
\___/
|___| Bernardo Innocenti - http://www.codewiz.org/
\___\ One Laptop Per Child - http://www.laptop.org/
More information about the Devel
mailing list