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.29k stars 897 forks source link

keyword device[name]:enabled false doesn't actualy turns device off #7081

Open sophronesis opened 3 months ago

sophronesis commented 3 months ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: 2024-06-25 Tag: v0.41.2, commits: 918d8340afd652b011b937d29d5eea0be08467f5 flags: (if any) System Information: System name: Linux Node name: sphHpNixos Release: 6.6.36 Version: #1-NixOS SMP PREEMPT_DYNAMIC Thu Jun 27 11:49:15 UTC 2024 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:591b] (rev 04) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] [10de:1c8d] (rev a1) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240629.2741b4b" 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/sph/.config/hypr/hyprland.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ #@# config/hypr/hyprland.conf: hyprland config #@# contains: # TODO: # toggle waybar # screenshot + wl-copy # powermenu # monitor=,1440x900,auto,1 # monitor=,preferred,auto,1 #@# * monitor settings monitor=eDP-1, 1920x1080, 0x0, 1 monitor=HDMI-A-2, 1680x1050, 1920x0, 1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more #@# * apps executed on launch # exec-once = waybar & hyprpaper & firefox exec-once = waybar exec-once = swww query || swww init exec-once = [workspace 10 silent] thunderbird # exec-once = mpvpaper -o "--loop-file=inf" '*' /home/sph/wp/mountain-top-temple-clouds-smoke-4k-live-wallpaper.mp4 # exec-once = dunst # exec-once = wl-paste -p --watch wl-copy -p '' # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # %% source paywal (not sure) # Some default env vars. env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us,ru,ua kb_options=grp:win_space_toggle follow_mouse = 2 } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 20 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 active_opacity = 0.97 inactive_opacity = 0.97 blur { enabled = true # xray = true size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some 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 } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # you probably want this no_gaps_when_only = 2 } # master { # # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # # new_is_master = true # } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = false } misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more disable_hyprland_logo = true disable_splash_rendering = true force_default_wallpaper = 0 # Set to -1 to enable the anime mascot wallpapers mouse_move_enables_dpms = true key_press_enables_dpms = true } cursor { no_warps = true } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more # device:epic-mouse-v1 { # sensitivity = -0.5 # } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # Non modkey binds #@# * screenshot hotkeys bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy bind = SHIFT, Print, exec, grim -g "$(slurp -d)" bind = CTRL, Print, exec, grim - | wl-copy #@# * F1-F12 hotkeys # F2 - F4 bind = , XF86AudioLowerVolume , exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind = , XF86AudioRaiseVolume , exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bind = , XF86Display , exec, notify-send "F4 not yet binded" # F6 - F12 bind = , XF86AudioMute , exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind = , XF86MonBrightnessDown, exec, brightnessctl set 15%- bind = , XF86MonBrightnessUp , exec, brightnessctl set 15%+ bind = , XF86AudioPrev , exec, playerctl previous bind = , XF86AudioPlay , exec, playerctl play-pause bind = , XF86AudioNext , exec, playerctl next bind = , XF86RFKill , exec, notify-send "F12 not yet binded" # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more #@# * fast execute hotkeys bind = $mainMod, TAB, exec, wofi_window bind = $mainMod, RETURN, exec, kitty bind = $mainMod, Z, exec, wlogout bind = $mainMod SHIFT, Q, exit bind = $mainMod SHIFT, X, exec, telegram-desktop bind = $mainMod SHIFT, Z, exec, firefox bind = $mainMod SHIFT, C, exec, steam_launch # Macros list #@# * macros hotkeys bind = $mainMod , A, exec, ~/.local/bin/macroses_wofi /etc/nixos/modules/macroses_list bind = $mainMod CTRL , A, exec, kitty -e zsh -c "nvim /etc/nixos/modules/macroses_list" #@# * fullscreen modes hotkeys bind = $mainMod, F, fullscreen # all monitor + fs mode bind = $mainMod SHIFT, F, fakefullscreen # fs mode only bind = $mainMod CTRL, F, fullscreen, 1 # all monitor only #@# * turn screen on/off bind = $mainMod, [, execr, hyprctl dispatch dpms off bind = $mainMod, ], execr, hyprctl dispatch dpms on #@# * other hotkeys bind = $mainMod, C, killactive, bind = $mainMod, V, togglefloating, bind = $mainMod, E, exec, wofi --show window bind = $mainMod, R, exec, wofi --show run bind = $mainMod, B, exec, /home/sph/.local/bin/toggle_waybar bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # 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 window in given direction with mainMod + shift + arrow keys bind = $mainMod SHIFT, left, swapwindow, l bind = $mainMod SHIFT, right, swapwindow, r bind = $mainMod SHIFT, up, swapwindow, u bind = $mainMod SHIFT, down, swapwindow, d # Move window from one monitor to another bind = $mainMod CTRL, up, movewindow, mon:+1 bind = $mainMod CTRL, down, movewindow, mon:-1 # Move window to next or previous workspace bind = $mainMod CTRL, left, movetoworkspace, -1 # r-1 bind = $mainMod CTRL, right, movetoworkspace, +1 # r+1 # Swap two monitors bind = $mainMod, u, swapactiveworkspaces, eDP-1 HDMI-A-2 # 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 # Move active window to a workspace without switching workspace with mainMod + CTRL + [0-9] bind = $mainMod CTRL, 1, movetoworkspacesilent, 1 bind = $mainMod CTRL, 2, movetoworkspacesilent, 2 bind = $mainMod CTRL, 3, movetoworkspacesilent, 3 bind = $mainMod CTRL, 4, movetoworkspacesilent, 4 bind = $mainMod CTRL, 5, movetoworkspacesilent, 5 bind = $mainMod CTRL, 6, movetoworkspacesilent, 6 bind = $mainMod CTRL, 7, movetoworkspacesilent, 7 bind = $mainMod CTRL, 8, movetoworkspacesilent, 8 bind = $mainMod CTRL, 9, movetoworkspacesilent, 9 bind = $mainMod CTRL, 0, movetoworkspacesilent, 10 # Example special workspace (scratchpad) bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic bind = $mainMod CTRL, S, movetoworkspacesilent, special:magic # 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 ======Config-End======== ```

Description

Currently i have broken touchpad that just constantly presses left mouse button, whenever i touch it, therefore i want to turn it off. inside x11 system you can turn it off with xinput with ease. but it's seem impossible to do in hyprland. closest thing i found is

$ hyprctl keyword "device[etps/2-elantech-touchpad]:enabled" "false"

which stops reading mouse movement from touchpad, but not clicks. this broken touchpad keeps left mouse button pressed even after being disabled. thinking about turning it off physically, but this can be clearly solved with software

How to reproduce

Can't send my broken touchpad to you, so no way to replicate

Crash reports, logs, images, videos

No response

vaxerski commented 3 months ago

image

sophronesis commented 3 months ago

@vaxerski i've tried it, but that doesn't help, unfortunately. Left mouse key counts as pressed even after i disable touchpad with this command

vaxerski commented 3 months ago

are you sure you disabled the right one? some might create multiple devices

sophronesis commented 3 months ago
$ hyprctl devices -j | wl-copy ``` { "mice": [ { "address": "0x20cd2a0", "name": "logitech-ergo-m575", "defaultSpeed": 0.00000 }, { "address": "0x2138930", "name": "etps/2-elantech-touchpad", "defaultSpeed": 0.00000 } ], "keyboards": [ { "address": "0x1ed9660", "name": "power-button", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": false }, { "address": "0x1f85f50", "name": "video-bus", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": false }, { "address": "0x1ff6310", "name": "video-bus-1", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": false }, { "address": "0x2061c30", "name": "power-button-1", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": false }, { "address": "0x20ce060", "name": "at-translated-set-2-keyboard", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": true }, { "address": "0x21396f0", "name": "wireless-hotkeys", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": false }, { "address": "0x21a3120", "name": "hp-wmi-hotkeys", "rules": "", "model": "", "layout": "us,ru,ua", "variant": "", "options": "grp:win_space_toggle", "active_keymap": "English (US)", "main": false } ], "tablets": [ ], "touch": [ ], "switches": [ { "address": "0x1d49370", "name": "Lid Switch" } ] } ```

bruh

i've tested it to extent of my abilities and only than opened this issue. currently i need to exit hyprland to reset input devices and, it's suboptimal