hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.83k stars 909 forks source link

Pressing down on a disabled touchpad locks USB mouse left button input #8558

Open Telescopica577 opened 2 days ago

Telescopica577 commented 2 days ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland 0.45.2 built from branch at commit 12f9a0d0b93f691d4d9923716557154d74777b0a ([gha] Nix: update inputs). Date: Tue Nov 19 21:47:18 2024 Tag: v0.45.2, commits: 5451 built against aquamarine 0.5.0 flags set: debug System Information: System name: Linux Node name: TelescopicaLaptop Release: 6.11.9-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Sun, 17 Nov 2024 16:06:17 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] [10de:2191] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 565.57.01 Thu Oct 10 12:29:05 UTC 2024 os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ======Config-Start====== Config File: /home/telescopica/.config/hypr/hyprland.conf: Read Succeeded # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/ source = ~/.config/hypr/colors.conf ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor = eDP-1, highrr, 1920x0, 1.0 monitor = DP-2, highrr, 0x0, 1.0 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = nemo $menu = wofi $webBrowser = firefox ################# ### AUTOSTART ### ################# exec-once = waybar & hyprpaper & solaar -w hide & playerctld daemon & sleep 0.5 && newlook s ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = TERM,$terminal env = BROWSER,$webBrowser env = GTK_THEME,Qogir-Dark env = ELECTRON_OZONE_PLATFORM_HINT,wayland ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 3 gaps_out = 6 border_size = 2 col.active_border = $focusedBorderColors col.inactive_border = rgba(303030ee) resize_on_border = false allow_tearing = true layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 active_opacity = 1.0 inactive_opacity = 0.75 shadow { enabled = false } # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 5 passes = 3 noise = 0 brightness = 0.75 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = yes, please :) # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = easeOutQuint,0.23,1,0.32,1 bezier = easeInOutCubic,0.65,0.05,0.36,1 bezier = linear,0,0,1,1 bezier = almostLinear,0.5,0.5,0.75,1.0 bezier = quick,0.15,0,0.1,1 animation = global, 1, 10, default animation = border, 1, 5.39, easeOutQuint animation = windows, 1, 4.79, easeOutQuint animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% animation = windowsOut, 1, 1.49, linear, popin 87% animation = fadeIn, 1, 1.73, almostLinear animation = fadeOut, 1, 1.46, almostLinear animation = fade, 1, 3.03, quick animation = layers, 1, 3.81, easeOutQuint animation = layersIn, 1, 4, easeOutQuint, fade animation = layersOut, 1, 1.5, linear, fade animation = fadeLayersIn, 1, 1.79, almostLinear animation = fadeLayersOut, 1, 1.39, almostLinear animation = workspaces, 1, 1.94, almostLinear, fade animation = workspacesIn, 1, 1.21, almostLinear, fade animation = workspacesOut, 1, 1.94, almostLinear, fade } # Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ # "Smart gaps" / "No gaps when only" # uncomment all if you wish to use that. # workspace = w[t1], gapsout:0, gapsin:0 # workspace = w[tg1], gapsout:0, gapsin:0 # workspace = f[1], gapsout:0, gapsin:0 # windowrulev2 = bordersize 0, floating:0, onworkspace:w[t1] # windowrulev2 = rounding 0, floating:0, onworkspace:w[t1] # windowrulev2 = bordersize 0, floating:0, onworkspace:w[tg1] # windowrulev2 = rounding 0, floating:0, onworkspace:w[tg1] # windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] # windowrulev2 = rounding 0, floating:0, onworkspace:f[1] # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = false # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( vfr = false # Reduces frames sent to GPU when nothing is happening. Fucks up cava, so disabled. } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = msft0001:01-04f3:304b-touchpad enabled = false } device { name = msft0001:01-04f3:304b-mouse enabled = false } ################### ### KEYBINDINGS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # Standard management binds bind = $mainMod, C, killactive, bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, Q, exec, $terminal bind = $mainMod, R, exec, $menu bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, F, exec, $webBrowser bind = CTRL ALT, backspace, exit, # Screenshot binds bind = , print, exec, grim - | wl-copy bind = CTRL, print, exec, grim -g "$(slurp -b 00000080 -s 00000000 -c 00000000)" - | wl-copy bind = ALT, print, exec, grim -g "$(slurp -b 00000080 -s 00000000 -c 00000000 -o)" - | wl-copy # Newlook binds bind = SUPER ALT SHIFT, s, exec, newlook s bind = SUPER ALT SHIFT, q, exec, newlook q bind = SUPER ALT SHIFT, e, exec, newlook e # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Move current workspace to specified monitor bind = $mainMod SHIFT, A, movecurrentworkspacetomonitor, DP-2 bind = $mainMod SHIFT, S, movecurrentworkspacetomonitor, eDP-1 # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Laptop multimedia keys for volume and LCD brightness bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- # Binds for playerctl bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Enable tearing for Steam games and Minecraft windowrulev2 = immediate, class:^(steam_app_\d+) windowrulev2 = immediate, class:^(Minecraft)(.*) # Ignore maximize requests from apps windowrulev2 = suppressevent maximize, class:.* # Fix some dragging issues with XWayland windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 Config File: /home/telescopica/.config/hypr/colors.conf: Read Succeeded $focusedBorderColors=rgba(67506Bee) rgba(946375ee) 90deg ======Config-End======== ```

Description

I have disabled the touchpad on my laptop in Hyprland config since I don't use it, and instead use an external USB mouse. I've noticed that when I accidentally press-click on the touchpad, the USB mouse is unable to change the state of its left mouse button. For example, if the left mouse button was pressed when the touchpad is pushed down, the mouse will constantly register the left mouse button being down until the touchpad is released and the LMB on the USB mouse is clicked again.

The touchpad is actually disabled, no input from it can do anything on its own aside from locking the USB mouse's button in its current state until the touchpad is no longer pressed down and the state of the external mouse's button is changed again.

How to reproduce

  1. On a laptop with a built-in touchpad, disable the built-in touchpad using Hyprland's configuration file.
  2. Attach an external mouse (USB for certain, possibly Bluetooth).
  3. Physically press down on the touchpad, making it "click," and hold it there.
  4. Try to use LMB on the external mouse.

Crash reports, logs, images, videos

No response

vaxerski commented 22 hours ago

wait, but the touchpad physically cannot click? like if you hover over a button and click with the touchpad?

Telescopica577 commented 22 hours ago

It can't click on its own, no. Just freezes LMB on the external mouse