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

Leverage libinput-gestures including touch #233

Open
mecattaf opened this issue Sep 5, 2024 · 1 comment
Open

Leverage libinput-gestures including touch #233

mecattaf opened this issue Sep 5, 2024 · 1 comment
Labels
feature New feature or request

Comments

@mecattaf
Copy link

mecattaf commented Sep 5, 2024

tldr; I would like miraclw-wm to have touchpad gestures based on libinput-gestures like swaywm, and touch screen gestures including edge gestures as implemented by lisgd. Ideally without us having to install either program separately.


Sway leverages libinput-gestures which makes it great for... gestures.

In fact this is one of the few areas where sway still far outperforms hyprland with its versatility. Hyprland is pretty limited in terms of its gesture support and for any advanced gestures they suggest for us to use libinput-gestures directly. This is far from ideal, especially since libinput-gestures is not packaged for fedora. Even after creating a COPR, I ran into issues related to adding libinput-gestures to the correct input user group 1 2 and eventually gave up on trying to use advanced gestures with hyprland.

Some users were successful with adding libinput-gestures with hyprland directly which did not work for me as mentioned above. Another user was able to achieve this via fusuma but it requires a lot of fiddling on the OS and ruby which I do not like.

The advantage with sway is that it comes with libinput-gestures out of the box! No need to mess around with the input group etc. This enables me to have the following advanced touchpad configuration in sway:

# Gestures
bindgesture {
swipe:3:right  exec $scripts/gestures backward
swipe:3:left exec $scripts/gestures forward
swipe:3:up   exec rofi -show drun
swipe:3:down  exec killall rofi
pinch:4:outward   exec swaymsg gaps inner current plus 25
pinch:4:inward  exec swaymsg gaps inner current minus 25
pinch:5:outward   exec swaymsg gaps inner current plus 50
pinch:5:inward  exec swaymsg gaps inner current minus 50
swipe:4:up   exec $waybar
swipe:4:down  exec $waybar
swipe:4:right  exec swaymsg 'workspace next_on_output'
swipe:4:left  exec swaymsg 'workspace prev_on_output'
swipe:5:up   exec swaymsg gaps vertical current plus 50
swipe:5:down  exec swaymsg gaps vertical current minus 50
swipe:5:right  exec $scripts/gestures pgup
swipe:5:left exec $scripts/gestures pgdn
}

Note that a lot of the above are impossible to achieve with hyprland out of the box. I would like to keep the same functionality in miracle-wm.

Now while sway is amazing for touchpad gestures, its TOUCHSCREEN functionality is very weak. I believe this is solved with lisgd.

For me the key difference between touchpad and touchscreen is the need for the latte to have edge controls - which is solved with lisgd. If you can wrap both libinput-gestures AND lisgd in miracle-wm it will put it miles ahead of the competition.
Btw you can find the full issue discussion on touch gestures in this sway issue (see the last comment for my thoughts).

@mattkae
Copy link
Collaborator

mattkae commented Nov 1, 2024

Related to: canonical/mir#3531

@mattkae mattkae added the feature New feature or request label Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants