Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swipe to drag #96

Closed
wants to merge 15 commits into from
Closed

Swipe to drag #96

wants to merge 15 commits into from

Commits on Jul 10, 2015

  1. Added support for touchpads that report incorrect ( = 0) touch_major …

    …variable value.
    
        This corner case forces me to push my DLL060A:00 06CB:2734 trackpad really hard.
    vanilla-wow-addons committed Jul 10, 2015
    Configuration menu
    Copy the full SHA
    5a61c09 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2015

  1. Added configurable delays to button events generated by scroll, swipe…

    … and swipe4 gestures.
    
    Till now gestures were delayed, but delay was before any button down event, so after first gesture you had to
    "wait" for button down event, and button up was fired immediately after button down. It was like:
    0 ms: gesture was made
    ... : delay for configured number of miliseconds
    x ms: send button down and button up events (othen multiple times).
    As a result actions bound to gestures via tools like xbindkeys were executed too late and othen more than once.
    This comes from fact that xserver can "see" generated events only when 'read_input' callback returns.
    
    To fix that I had to modify code to generate and "commit" buttown down events as fast as possible, and
    use timer to be able to fire delayed button up events.
    Actual flow looks like:
    0 ms: gesture was made, button down
    ...: delay
    x ms: one button up event
     and so on.
    
    During development I merged code and data structures responsible for gestures configuration and execution.
    Two finger scroll, swipes and four finger swipes are now executed by same function.
    There are still some areas to merge, mostly in 'moving_update' and configuration code, but I didn't pushed it
    further right now.
    
    I also find and fixed bug with "ClickTime" property: it was set, but it wasn't used. Now taps will delay
    button up for configured amount of time. Be aware to not set it to higher value than tap to drag wait time.
    Otherwise delayed button up event may interrupt dragging.
    p2rkw committed Jul 15, 2015
    Configuration menu
    Copy the full SHA
    232a2ab View commit details
    Browse the repository at this point in the history
  2. Fixed markup for github.

    p2rkw committed Jul 15, 2015
    Configuration menu
    Copy the full SHA
    fe8c82b View commit details
    Browse the repository at this point in the history
  3. Merged four directional "click time" properties into one, common for …

    …all four directions, but separate for gestures.
    
    I guess most users would set all four variables to one value.
    Also from this point delayed events will be fired early when user finish his gesture before even if it was scheduled for later.
    So my earlier notes about too high tap click time and tap to drag are no longer valid: button up event will be send right after releasing any of touches.
    p2rkw committed Jul 15, 2015
    Configuration menu
    Copy the full SHA
    36eeed8 View commit details
    Browse the repository at this point in the history
  4. Changed property name to end with _SETTINGS. It will ease further dev…

    …elopment of swipes.
    p2rkw committed Jul 15, 2015
    Configuration menu
    Copy the full SHA
    cb5c503 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2015

  1. First working draft of swipe to srag functionality.

    The problem is swipe drag send motion events much slower than one finger motion.
    Is it my fault, mtrack, mtdev or my touchpad?
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    f410309 View commit details
    Browse the repository at this point in the history
  2. Temporary removed is_drag property, reverted some changes while searc…

    …hing for source of huge delays and
    
    found bugs in set_swipe_property.
    This commit schold be removed/reverted.
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    a4f206b View commit details
    Browse the repository at this point in the history
  3. Merged swipe properties 'hold' and 'dist' into new one 'settings' kno…

    …wn for xserver and user as "Trackpad {Scroll,Swipe,Swipe4} Settings".
    
    Fixed bug in set_swipe_properties: now error code is handled correctly.
    Changed few variable names to follow convention.
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    01a0f07 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'unrepetable_swipes' into swipe_to_drag

    Conflicts:
    	driver/mprops.c
    	include/mprops.h
    	src/mconfig.c
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    765ddd5 View commit details
    Browse the repository at this point in the history
  5. Revert "Temporary removed is_drag property, reverted some changes whi…

    …le searching for source of huge delays and"
    
    This reverts commit a4f206b.
    
    Conflicts:
    	driver/mprops.c
    	src/mconfig.c
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    ce742d1 View commit details
    Browse the repository at this point in the history
  6. Fixed problem with huge delays - one variable was unitialized.

    Swipe to drag is working, but I have to clean code, and implement "infinite timer" for hold == 0.
    
    Updated readme and renamed property to "{Scroll,Swipe,Swipe4}Sensivity". Renamed variable to drag_sens.
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    fc98725 View commit details
    Browse the repository at this point in the history
  7. One functional change: value 0 ms of MConfigSwipe::hold (second value…

    … of Trackpad * Settings) will be treated
    
    as infinite time. For 0 timer will be not set so button up event will be generated when user ends his gesture.
    
    Additionally I cleanup code related to delays, removed delayed_delta member because it were duplicating delayed_time.
    
    Some cleanups.
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    3d67cd2 View commit details
    Browse the repository at this point in the history
  8. Added tip to readme how to enable swipe-to-drag because it may be not…

    … so obvious at first sight.
    p2rkw committed Jul 16, 2015
    Configuration menu
    Copy the full SHA
    026f695 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2015

  1. Configuration menu
    Copy the full SHA
    fd6900a View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2015

  1. Configuration menu
    Copy the full SHA
    39cfba1 View commit details
    Browse the repository at this point in the history