Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Middle click not working for anything except when pasting/opening links in new tabs for Firefox.

Open almonds-game opened this issue 1 year ago • 5 comments

Already reported ? *

  • [X] I have searched the existing open and closed issues.

Regression?

No

System Info and Version

System/Version info
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2


flags: (if any)


System Information:
System name: Linux
Node name: fedora
Release: 6.11.3-200.fc40.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Thu Oct 10 22:31:19 UTC 2024


GPU information: 
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barcelo [1002:15e7] (rev d2) (prog-if 00 [VGA controller])


os-release: NAME="Fedora Linux"
VERSION="40 (Forty)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Forty)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40
SUPPORT_END=2025-05-13


plugins:

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


Config File: /home/person/.config/hypr/hyprland.conf: Read Succeeded

# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################

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

autogenerated = 0 # remove this line to remove the warning

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,highres,0x0,1

xwayland {
  force_zero_scaling = true
}

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

# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
exec-once = hyprpaper
exec-once = nwg-panel 
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf

# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = wofi --prompt="Search for programs" --show drun

# Some default env vars.
env = GDK_SCALE,1.5 
env = XCURSOR_SIZE,18
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    scroll_method = on_button_down
    scroll_button = 274
    follow_mouse = 2
    touchpad {
        natural_scroll = yes 
        scroll_factor = 0.2
        middle_button_emulation = true
    }

    sensitivity = 0.2 # -1.0 to 1.0, 0 means no modification.
}

cursor {
  no_warps = true
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 5
    gaps_out = 10
    border_size = 2
    # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = dwindle 
    # no_cursor_warps = true
    # 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 = 8
    
    blur {
        enabled = false
        #size = 3
        #passes = 1
    }

    drop_shadow = false
    #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 = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
}

# 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 = on
}

misc {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_splash_rendering = true
    disable_hyprland_logo = true
    vfr = true
    middle_click_paste = false
}

# 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
}

# 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
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.


# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER


# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
#bind = $mainMod, XKB_KEY_KP_Enter, exec, $terminal
bind = $mainMod SHIFT, RETURN, exec, $terminal
bind = $mainMod SHIFT, L, exec, librewolf

bind = alt SHIFT, 3, exec, grim $(xdg-user-dir PICTURES)/$(date +"Screenshot_%d-%m-%y_%T.png")
bind = alt SHIFT, 4, exec, grim -g "$(slurp)" $(xdg-user-dir PICTURES)/$(date +"Screenshot_%d-%m-%y_%T.png")

bind = $mainMod, C, killactive, 
bind = $mainMod SHIFT, F, fullscreen, 0  
bind = $mainMod, M, exit, 
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating, 
bind = $mainMod, R, exec, $menu
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

bind = $mainMod, left, alterzorder, top
bind = $mainMod, right, alterzorder, top
bind = $mainMod, up, alterzorder, top
bind = $mainMod, down, alterzorder, top
# Function media keys 
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%+
bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
bind = , XF86MonBrightnessUp, exec, brightnessctl set 10%+

bind = alt, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bind = alt, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bind = alt, XF86MonBrightnessDown, exec, brightnessctl set 5%-
bind = alt, XF86MonBrightnessUp, exec, brightnessctl set 5%+


# 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, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10

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

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod SHIFT, left, workspace, e-1
bind = $mainMod SHIFT, right, 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

I have a ThinkPad L14 Gen 3 (AMD) and am trying to use the mouse buttons above the touchpad for games. However, clicking the middle mouse button does nothing (pasting text does work when enabled (including outside of Firefox)). I've tried using an external mouse, clicking the scroll wheel does nothing either. I figured it was an issue with the game itself, but when testing my mouse input on a few sites ((https://www.onlinemictest.com/mouse-test/), https://cpstest.org/mouse-test/) my middle click is not detected. I have middle_button_emulation enabled, but doing a simultaneous left & right mouse click has no effect. However, pressing the button and using the trackpoint does in fact allow me to scroll in any program.

How to reproduce

Relevant part of my config (but feel free to look at the systeminfo output above for the full config):

input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    scroll_method = on_button_down
    scroll_button = 274
    follow_mouse = 2
    touchpad {
        natural_scroll = yes 
        scroll_factor = 0.2
        middle_button_emulation = true
    }

    sensitivity = 0.2 # -1.0 to 1.0, 0 means no modification.
}

Crash reports, logs, images, videos

No response

almonds-game avatar Oct 18 '24 01:10 almonds-game

does wev show the event? Maybe you have the middle mouse button bound to something in hyprland?

vaxerski avatar Oct 18 '24 18:10 vaxerski

(Ignore the closing & reopening, was a mistake on my part) Yes, wev does register my middle clicks:

[13:      wl_pointer] button: serial: 12280; time: 14270472; button: 274 (middle), state: 0 (released)
[13:      wl_pointer] frame

And, I double checked for any bindings I might've had, but I don't have middle click in any binds :(

almonds-game avatar Oct 18 '24 20:10 almonds-game

does it only show "released" or is the "pressed" event above it too?

if both are there, that's a problem with the apps.

You can also try disabling middle click paste in hyprland's config (may require a hl restart)

vaxerski avatar Oct 19 '24 14:10 vaxerski

Y'know what, you're right, I do get both "pressed" and "unreleased" states at the same time, only when I release the button though:

[13:      wl_pointer] button: serial: 1623; time: 251982; button: 274 (middle), state: 1 (pressed)
[13:      wl_pointer] frame
[13:      wl_pointer] button: serial: 1624; time: 252076; button: 274 (middle), state: 0 (released)
[13:      wl_pointer] frame

I do have middle click paste disabled now, but still doesn't work normally :(

I'm not too versed in this, but considering I get both pressed & released states at the same time upon release (unlike other keys, where pressing gives me "pressed" and releasing gives me "released" at the appropriate times), could it be something related to input buffers?? I absolutely could be wrong though.

Here is a video, for others to fully get what I'm saying in regards to the press/release output. You probably can't read it due to the quality but you can certainly see 4 lines of output (including the lines saying "frame") upon releasing the middle click button, rather than the typical 2 lines for both press and release respectively for every other key that I demonstrate.

https://github.com/user-attachments/assets/aee9d6df-25c6-400d-8947-525f5567c3ac

almonds-game avatar Oct 19 '24 20:10 almonds-game

that might be a hardware thing then?

vaxerski avatar Oct 20 '24 15:10 vaxerski

Hi, sorry for the late response, I mean maybe? I'm guessing it's something to do with drivers considering it didn't work with an external mouse either :(

almonds-game avatar Oct 21 '24 17:10 almonds-game

not the exact issue i think, but I have noticed inconsistent behaviour with middle click as well.

sometimes it stops working like 2/10 times clicks just doesnt do anything. I use middle click a lot, for selecting, and pasting from primary keyboard, and closing and opening tabs on firefox vertical tabs. so this happens frequently to me.

isshin1 avatar Nov 30 '24 15:11 isshin1

Hello there!

This issue has been closed, as we are moving from issues to discussions. More about this can be found here and in #9854.

Firstly, please make sure this issue is still relevant in latest Hyprland. If so, we ask you to open a discussion (please read the discussion guidelines first, in the pinned post)

Thank you for your understanding!

vaxerski avatar Apr 05 '25 18:04 vaxerski