natask / gestures

Fluid gestures for Linux.
MIT License
66 stars 7 forks source link

Script Stops Working after Pinch Events #2

Closed Amarjit3 closed 4 years ago

Amarjit3 commented 4 years ago

Hello,

Many thanks for the work you have carried out. It is a brilliant script.

I installed the script without problems and it is working fine when I turn my laptop on. However, as soon as I do a pinch event on the touchscreen in Chrome or the file manager to zoom, all other touch events on the touchscreen cease to work. If I do a single-finger event on the touchscreen (like scrolling) then the script continues to operate as usual. I am using the default configuration file with no pinch events programmed. The touchpad continues to operate fine.

I am using Kubuntu 19.10. I sense that the operating system and the script are interfering with one another. When I first try to zoom there is a small bit of lag before the operating system causes zooming. Is there a way to disable the two finger pinch on the script for the touchscreen only?

I then kill the script and restart it - it subsequently works again.

Please could you advise?

natask commented 4 years ago

Hey, Thanks for trying out the script. I examined the issue and it turns out there was a bug in the pinch section of the touchscreen portion of the default config file provided. Would you please try out the following config file? The location of the config file is ~/.config/gestures.conf The pertinent portion is the pinch section of the touchscreen portion of the default config file. Swapping that with what is offered here should also suffice.

{'touchpad' :{
'swipe': {
# t = tap
# l = left 
# r = right 
# u = up
# d = down
# lu = left_up
# rd = right_down
# ld = left_down
# ru = right_up 

# 3 finger swipe
'3': {
    'l' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'l': ["evemu_do Left"], 'r': ["evemu_do Right"], 'u': ["evemu_do Up"], 'd': ["evemu_do Down"], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup alt'], 'rep': ''},
    'r' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup alt'], 'rep': ''},
    'u' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do super+i'], 'rep': ''},
    'd' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do super+i'], 'rep': ''},
    'lu': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+shift+t'], 'rep': ''},
    'rd': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+w'], 'rep': ''},
    'ld': {'start': ['evemu_do keydown control','evemu_do Page_Up'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': ["evemu_do Page_Up"], 'ru': ["evemu_do Page_Down"]}, 'end': ['evemu_do keyup control'], 'rep': ''},
    'ru': {'start': ['evemu_do keydown control','evemu_do Page_Down'],  'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': ["evemu_do Page_Up"], 'ru': ["evemu_do Page_Down"]}, 'end': ['evemu_do keyup control'], 'rep': ''}
 },

# 4 finger swipe
'4': {
    't' : ['evemu_do super+w'],
    'l' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Right'],'update': {'l': ["evemu_do Left"], 'r': ["evemu_do Right"], 'u': ["evemu_do Up"], 'd': ["evemu_do Down"], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup ctrl+alt'], 'rep': ''},
    'r' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Left'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''},
    'u' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Up'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''},
    'd' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Down'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''},
    'lu': {'start': [], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+shift+n'], 'rep': ''},
    'rd': {'start': [], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['save_and_close'], 'rep': ''},
    'ld': {'start': ['evemu_do keydown alt','evemu_do Left'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': ["evemu_do Left"], 'ru': ["evemu_do Right"]}, 'end': ['evemu_do keyup Alt'], 'rep': ''},
    'ru': {'start': ['evemu_do keydown alt','evemu_do Right'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [],'ld': ["evemu_do Left"], 'ru': ["evemu_do Down"]}, 'end': [], 'rep': ''}
 },
# 5 finger swipe
'5': {
    't' : ['open_dictionary'],
    'l' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['emacsclient -c -a \"\"'], 'rep': ''},
    'r' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+alt+t'], 'rep': ''},
    'u' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['toggle_global_window_switcher'], 'rep': ''},
    'd' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['flip'], 'rep': ''},
    'lu': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+t'], 'rep': ''},
    'rd': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['restartTouchpadAndPen'], 'rep': ''},
    'ld': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['emacsclient -c -a \"\"'], 'rep': ''},
    'ru': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['reset_keyboard'], 'rep': ''}
     }
 },

 'pinch': {
# i = in
# o = out

# 2 finger pinch 
 '2': {
    'i' : {'start': ['evemu_do keydown control', 'evemu_do equal'], 'update': {'i': ['evemu_do plus'], 'o': ['evemu_do minus']}, 'end': ['evemu_do keyup ctrl'], 'rep': ''},
    'o' : {'start': ['evemu_do keydown control', 'evemu_do minus'], 'update': {'i': ['evemu_do plus'], 'o': ['evemu_do minus']}, 'end': ['evemu_do keyup ctrl'], 'rep': ''}
 },
# 3 finger pinch 
 '3': {
    'i' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''},
    'o' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''}
 },
# 4 finger pinch 
'4': {
    'i' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''},
    'o' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''}
 },
# 5 finger pinch 
'5': {
    'i' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''},
    'o' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''}
    } 
 }
},

'touchscreen' :{
'swipe': {
# t = tap
# l = left 
# r = right 
# u = up
# d = down
# lu = left_up
# rd = right_down
# ld = left_down
# ru = right_up 

# 3 finger swipe
'3': {
    'l' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup alt'], 'rep': ''},
    'r' : {'start': ['evemu_do keydown alt', 'evemu_do tab'], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup alt'], 'rep': ''},
    'u' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do super+i'], 'rep': ''},
    'd' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do super+i'], 'rep': ''},
    'lu': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+shift+t'], 'rep': ''},
    'rd': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+w'], 'rep': ''},
    'ld': {'start': ['evemu_do keydown control','evemu_do Page_Up'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup control'], 'rep': ''},
    'ru': {'start': ['evemu_do keydown control','evemu_do Page_Down'],  'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup control'], 'rep': ''}
 },
# 4 finger swipe
'4': {
    't' : ['evemu_do super+w'],
    'l' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Right'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup ctrl+alt'], 'rep': ''},
    'r' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Left'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''},
    'u' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Up'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''},
    'd' : {'start': ['evemu_do keydown ctrl+alt', 'evemu_do Down'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''},
    'lu': {'start': [], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+shift+n'], 'rep': ''},
    'rd': {'start': [], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['save_and_close'], 'rep': ''},
    'ld': {'start': ['evemu_do keydown alt','evemu_do Left'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do keyup Alt'], 'rep': ''},
    'ru': {'start': ['evemu_do keydown alt','evemu_do Right'], 'update': {'l' :[], 'r' :[], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''}
 },
# 5 finger swipe
'5': {
    't' : ['evemu_do keydown control','evemu_do Page_Down'],
    'l' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['emacsclient -c -a \"\"'], 'rep': ''},
    'r' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+alt+t'], 'rep': ''},
    'u' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['toggle_global_window_switcher'], 'rep': ''},
    'd' : {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['flip'], 'rep': ''},
    'lu': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['evemu_do ctrl+t'], 'rep': ''},
    'rd': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['restartTouchpadAndPen'], 'rep': ''},
    'ld': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': ['emacsclient -c -a \"\"'], 'rep': ''},
    'ru': {'start': [], 'update': {'l': [], 'r': [], 'u': [], 'd': [], 'lu': [], 'rd': [], 'ld': [], 'ru': []}, 'end': [], 'rep': ''}
     }
 },

 'pinch': {
# i = in
# o = out

# 2 finger pinch 
 '2': {
    'i' : {'start': ['', ''], 'update': {'i': [''], 'o': ['']}, 'end': [''], 'rep': ''},
    'o' : {'start': ['', ''], 'update': {'i': [''], 'o': ['']}, 'end': [''], 'rep': ''}
 },
# 3 finger pinch 
 '3': {
    'i' : {'start': ['', ''], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''},
    'o' : {'start': ['', ''], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''}
 },
# 4 finger pinch 
'4': {
    'i' : {'start': ['', ''], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''},
    'o' : {'start': ['', ''], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''}
 },
# 5 finger pinch 
'5': {
    'i' : {'start': ['', ''], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''},
    'o' : {'start': ['', ''], 'update': {'i': [], 'o': []}, 'end': [], 'rep': ''}
    } 
 }
}
}
Amarjit3 commented 4 years ago

The problem is resolved with the above fix - thank you!

natask commented 4 years ago

Glad could be of help.