Ticket #8978: 0001-Fix-DualPoint-click-count.patch

File 0001-Fix-DualPoint-click-count.patch, 2.9 KB (added by mks, 11 years ago)

Same patch but created with git format-patch

  • src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp

    From e3bbe6517ce1457236ed75c05e3a109f238c6d8e Mon Sep 17 00:00:00 2001
    From: Michael Kanis <mks@skweez.net>
    Date: Thu, 31 Jan 2013 20:45:08 +0100
    Subject: [PATCH] Fix DualPoint click count
    
    ---
     src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp |    6 +++---
     src/add-ons/kernel/bus_managers/ps2/movement_maker.h   |    3 ++-
     src/add-ons/kernel/bus_managers/ps2/ps2_alps.cpp       |    2 ++
     3 files changed, 7 insertions(+), 4 deletions(-)
    
    diff --git a/src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp b/src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp
    index 868cd12..41bdf86 100644
    a b TouchpadMovement::_EdgeMotion(mouse_movement *movement, touch_event *event,  
    483483    Also, it sets the button state from movement->buttons.
    484484*/
    485485void
    486 TouchpadMovement::_UpdateButtons(mouse_movement *movement)
     486TouchpadMovement::UpdateButtons(mouse_movement *movement)
    487487{
    488488    // set click count correctly according to double click timeout
    489489    if (movement->buttons != 0 && fButtonsState == 0) {
    TouchpadMovement::_NoTouchToMovement(touch_event *event,  
    549549    }
    550550
    551551    movement->buttons = buttons;
    552     _UpdateButtons(movement);
     552    UpdateButtons(movement);
    553553}
    554554
    555555
    TouchpadMovement::_MoveToMovement(touch_event *event, mouse_movement *movement)  
    601601        fTapDeltaY = 0;
    602602    }
    603603
    604     _UpdateButtons(movement);
     604    UpdateButtons(movement);
    605605}
    606606
    607607
  • src/add-ons/kernel/bus_managers/ps2/movement_maker.h

    diff --git a/src/add-ons/kernel/bus_managers/ps2/movement_maker.h b/src/add-ons/kernel/bus_managers/ps2/movement_maker.h
    index 31692c0..114357e 100644
    a b public:  
    110110
    111111            bool                TapDragStarted() { return fTapdragStarted; }
    112112            bool                WasEdgeMotion() { return fValidEdgeMotion; }
     113   
     114            void                UpdateButtons(mouse_movement *movement);
    113115
    114116            bigtime_t           click_speed;
    115117private:
    116118            bool                _EdgeMotion(mouse_movement *movement,
    117119                                    touch_event *event, bool validStart);
    118     inline  void                _UpdateButtons(mouse_movement *movement);
    119120    inline  void                _NoTouchToMovement(touch_event *event,
    120121                                    mouse_movement *movement);
    121122    inline  void                _MoveToMovement(touch_event *event,
  • src/add-ons/kernel/bus_managers/ps2/ps2_alps.cpp

    diff --git a/src/add-ons/kernel/bus_managers/ps2/ps2_alps.cpp b/src/add-ons/kernel/bus_managers/ps2/ps2_alps.cpp
    index 16aded4..ebf97b1 100644
    a b get_alps_movment(alps_cookie *cookie, mouse_movement *movement)  
    248248        movement->wheel_xdelta = 0;
    249249        movement->wheel_ydelta = 0;
    250250        movement->buttons = event.buttons;
     251        movement->timestamp = system_time();
     252        cookie->movementMaker.UpdateButtons(movement);
    251253    } else {
    252254        event.yPosition = AREA_END_Y - (event.yPosition - AREA_START_Y);
    253255        status = cookie->movementMaker.EventToMovement(&event, movement);