#2804 BLOC Update.: Cursor sometimes goes strange

Zarro Boogs per Child bugtracker at laptop.org
Thu Dec 20 00:45:42 EST 2007


#2804: Cursor sometimes goes strange
------------------------+---------------------------------------------------
  Reporter:  philipmac  |       Owner:  bernie  
      Type:  defect     |      Status:  assigned
  Priority:  blocker    |   Milestone:  Update.2
 Component:  hardware   |     Version:          
Resolution:             |    Keywords:  relnote 
  Verified:  0          |  
------------------------+---------------------------------------------------

Comment(by bernie):

 We now have a better idea of what happens: for unknown reasons, the glide
 sensor switches into an erratic mode where it starts reporting the "finger
 down" event twice.

 So we get two packets (instead of just one) with the absolute X and Y
 coordinates set to 0.  The kernel driver filters out only the first one.
 The spurious event causes a large delta when subtracted from the next
 legitimate packet (the offset could be +200, +150).

 Combined with mouse acceleration, this huge offset makes the cursor jump
 to the bottom-right corner of the screen.

 A possible workaround would involve improving the gs_down test in
 drivers/input/mouse/olpc.c around line 146:

 {{{
     if (psmouse->packet[0] == OLPC_PKT_PT && pt_down) {
         input_report_abs(dev, ABS_X, x);
         input_report_abs(dev, ABS_Y, y);
     } else if (psmouse->packet[0] == OLPC_PKT_GS && gs_down) {
         input_report_abs(dev2, ABS_X, x);
         input_report_abs(dev2, ABS_Y, y);
     }
 }}}

-- 
Ticket URL: <http://dev.laptop.org/ticket/2804#comment:46>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list