Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Touchpad doesn't detect the right number of fingers after a period of inactivity

Open nicobonada opened this issue 1 year ago • 3 comments

Regression?

No

System Info and Version

System/Version info
Hyprland, built from branch main at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259  (props: bump version to 0.42.0).
Date: 2024-08-07
Tag: v0.42.0, commits: 9a09eac79b85c846e3a865a9078a3f8ff65a9259

flags: (if any)


System Information:
System name: Linux
Node name: navi
Release: 6.10.4
Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Aug 11 10:58:04 UTC 2024


GPU information: 
00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.11.20240818.8a33541"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.11 (Vicuna)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.11 (Vicuna)"
VERSION_CODENAME=vicuna
VERSION_ID="24.11"


plugins:

======Config-Start======


Config File: /home/nico/.config/hypr/hyprland.conf: Read Succeeded
exec-once = /nix/store/sb8wn0zw1mk1g4mny8mqmn9h8q0ldvjj-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
# vi:ft=hyprlang

# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/

# Please note not all available settings / options are set here.
# For a full list, see the wiki

# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf


################
### MONITORS ###
################

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=desc:BOE 0x095F,preferred,auto,1.6   # Framework 13
# monitor=desc:ASUSTek COMPUTER INC VG258 MBLMQS146465,1920x1080@144,0x0,1,vrr,2
monitor=desc:ASUSTek COMPUTER INC VG258 MBLMQS146465,1920x1080@144,0x0,1
monitor=desc:ViewSonic Corporation VX2457 0x01010101,1920x1080@60,1920x0,1,vrr,2
monitor=,preferred,auto,1


###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$terminal = kitty
$fileManager = pcmanfm-qt
$menud = rofi -show drun
$menuw = rofi -show window
# $browser = vivaldi
$browser = floorp


#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

exec-once = lxqt-policykit-agent
exec-once = jamesdsp --tray
exec-once = wayland-pipewire-idle-inhibit
exec-once = waybar
exec-once = type solaar >/dev/null 2>&1 && solaar -w hide
exec-once = $terminal


#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,24
env = HYPRCURSOR_THEME,phinger-cursors-light
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,qt6ct


#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general {
    gaps_in = 5
    gaps_out = 5

    border_size = 2

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = false 

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false

    layout = dwindle
}

# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    rounding = 10

    # Change transparency of focused and unfocused windows
    active_opacity = 1.0
    inactive_opacity = 1.0

    drop_shadow = true
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)

    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = true
        size = 3
        passes = 1

        vibrancy = 0.1696
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
    enabled = true

    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mod + 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 {
    disable_splash_rendering = true
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}


#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options = compose:caps
    kb_rules =

    repeat_rate = 40
    repeat_delay= 250

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

    touchpad {
        natural_scroll = false
        tap_button_map = lmr
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = true
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
    name = epic-mouse-v1
    sensitivity = -0.5
}


####################
### KEYBINDINGSS ###
####################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mod = SUPER # Sets "Windows" key as main modifier

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mod, Return, exec, $terminal
bind = $mod, E,      exec, $fileManager
bind = $mod, D,      exec, $menud
bind = $mod, Tab,    exec, $menuw
bind = $mod, O,      exec, $browser

bind = $mod,       B, exec, bemoji -n
bind = $mod SHIFT, B, exec, bemoji -n -t

bind = $mod, C, centerwindow,
bind = $mod, Q, killactive,
bind = $mod, M, exit,
bind = $mod, V, togglefloating,
bind = $mod, P, pseudo,      # dwindle
bind = $mod, J, togglesplit, # dwindle

bind = , XF86MonBrightnessDown, exec, brillo -U 5
bind = , XF86MonBrightnessUp,   exec, brillo -A 5

bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+    #increase sound volume
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%-    #decrease sound volume
bind = , XF86AudioMute,        exec, wpctl set-mute   @DEFAULT_AUDIO_SINK@ toggle # mute sound

bind = , XF86AudioNext, exec, mpc next
bind = , XF86AudioPrev, exec, mpc prev
bind = , XF86AudioPlay, exec, playerctl play-pause

# Move focus with mod + arrow keys
bind = $mod, left,  movefocus, l
bind = $mod, right, movefocus, r
bind = $mod, up,    movefocus, u
bind = $mod, down,  movefocus, d

# Switch workspaces with mod + [0-9]
bind = $mod, 1, workspace, 1
bind = $mod, 2, workspace, 2
bind = $mod, 3, workspace, 3
bind = $mod, 4, workspace, 4
bind = $mod, 5, workspace, 5
bind = $mod, 6, workspace, 6
bind = $mod, 7, workspace, 7
bind = $mod, 8, workspace, 8
bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10

# Move active window to a workspace with mod + SHIFT + [0-9]
bind = $mod SHIFT, 1, movetoworkspace, 1
bind = $mod SHIFT, 2, movetoworkspace, 2
bind = $mod SHIFT, 3, movetoworkspace, 3
bind = $mod SHIFT, 4, movetoworkspace, 4
bind = $mod SHIFT, 5, movetoworkspace, 5
bind = $mod SHIFT, 6, movetoworkspace, 6
bind = $mod SHIFT, 7, movetoworkspace, 7
bind = $mod SHIFT, 8, movetoworkspace, 8
bind = $mod SHIFT, 9, movetoworkspace, 9
bind = $mod SHIFT, 0, movetoworkspace, 10

# Example special workspace (scratchpad)
# bind = $mod,       S, togglespecialworkspace, magic
# bind = $mod SHIFT, S, movetoworkspace,        special:magic

# Scroll through existing workspaces with mod + scroll
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up,   workspace, e-1

# Move/resize windows with mod + LMB/RMB and dragging
bindm = $mod, mouse:272, movewindow
bindm = $mod, mouse:273, resizewindow

bindm = $mod, Control_L, movewindow
bindm = $mod, ALT_L,     resizewindow

bind = $mod, A, submap, fastedit
submap = fastedit
    binde =      , left,   movefocus,  l
    binde =      , right,  movefocus,  r
    binde =      , up,     movefocus,  u
    binde =      , down,   movefocus,  d
    bind  = SHIFT, left,   movewindow, l
    bind  = SHIFT, right,  movewindow, r
    bind  = SHIFT, up,     movewindow, u
    bind  = SHIFT, down,   movewindow, d
    bind  =      , escape, submap,     reset
submap = reset

bind = $mod, S, submap, screenshot
submap = screenshot
    # Screenshot a region
    bind = , R, exec, hyprshot -m region -o $HOME/screen
    bind = , R, submap, reset
    # Screenshot a monitor
    bind = , M, exec, hyprshot -m output -o $HOME/screen
    bind = , M, submap, reset
    # Screenshot a window
    bind = , W, exec, hyprshot -m window -o $HOME/screen
    bind = , W, submap, reset

    # Record a region (toggle)
    bind = , V, exec, pkill wl-screenrec || wl-screenrec -g "$(slurp)"

    bind = , escape, submap, reset
submap = reset


##############################
### WINDOWS AND WORKSPACES ###
##############################

# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrulev2 = opacity 0.95, class:^kitty$

windowrulev2 = float,      class:^mpv$
windowrulev2 = noborder,   class:^mpv$
windowrulev2 = rounding 0, class:^mpv$

windowrulev2 = float,      class:^.gamescope-wrapped$
windowrulev2 = rounding 0, class:^.gamescope-wrapped$

windowrulev2 = float, class:^xdg-desktop-portal-gtk$

# Vivaldi pip window
windowrulev2 = rounding 0, title:^Picture in picture$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

layerrule = blur, waybar

debug {
    disable_logs = false
}

======Config-End========


Description

After some time passes with the lid closed:

  • the touchpad doesn't respond when using one finger
  • pointer moves with two fingers
  • scrolls with three
  • etc

How to reproduce

I'm having a hard time reproducing it consistently myself but this happens on a Framework 13 laptop with the output for hyprctl devices attached devices.txt

  • It only happens after some time without using the laptop with the lid closed.
  • Restarting Hyprland fixes it.
  • It was happening with 0.41.x as well.

Crash reports, logs, images, videos

This happens after several hours of use so the log files are huge but these are the differences I've noticed:

Log output when it's working fine (single finger movement on touchpad): normal.log

Log output when pointer doesn't move (also single finger on touchpad): wrong.log

I can provide more information but it might take a few days as it doesn't happen frequently.

nicobonada avatar Aug 22 '24 00:08 nicobonada