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

Keyboard input doesn't work in Black Desert Online Steam Launcher for 2FA after xwayland rewrite #7507

Closed
xadips opened this issue Aug 25, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@xadips
Copy link

xadips commented Aug 25, 2024

Regression?

Yes

System Info and Version

System/Version info
Hyprland, built from branch  at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259  (props: bump version to 0.42.0).
Date: Wed Aug 7 19:17:10 2024
Tag: v0.42.0, commits: 5069

flags: (if any)


System Information:
System name: Linux
Node name: actimelis
Release: 6.9.9-zen1-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Fri, 12 Jul 2024 00:06:19 +0000


GPU information: 
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller])
0f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c1) (prog-if 00 [VGA controller])


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:
  hyprsplit by shezdy ver 1.0

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


Config File: /home/spidax/.config/hypr/hyprland.conf: Read Succeeded
source = ~/.config/hypr/conf.d/options.conf
source = ~/.config/hypr/conf.d/monitor.conf
source = ~/.config/hypr/conf.d/env.conf
source = ~/.config/hypr/conf.d/exec.conf
source = ~/.config/hypr/conf.d/rules.conf
source = ~/.config/hypr/conf.d/binds.conf

Config File: /home/spidax/.config/hypr/conf.d/options.conf: Read Succeeded
input {
    follow_mouse = 1
    force_no_accel = false
    kb_layout = us, lt
    kb_model = pc105
    kb_variant =
    kb_options = grp:alt_shift_toggle
    numlock_by_default = true
    repeat_delay = 300
    repeat_rate = 50
}

device {
    name = "logitech-g603"
    sensitivity = -0.15
}

general {
    gaps_in = 5
    gaps_out = 10
    border_size = 2
    col.active_border = rgba(36060cee) rgba(7103a6ee) 270deg
    col.inactive_border = rgba(595959aa)
    apply_sens_to_raw = false
    allow_tearing = true


    layout = dwindle
}

render {
    explicit_sync = 1
}

decoration {
    rounding = 0
    blur {
        enabled = yes
        size = 3
        passes = 2 
        new_optimizations = on
    }
    inactive_opacity = 0.95
    active_opacity = 1.0

    drop_shadow = yes
    shadow_range = 7
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)
}

animations {
    enabled = true

    bezier = overshot,0.13,0.99,0.29,1.1
    animation = windows,1,4,overshot,popin
    animation = fade,1,10,default
    animation = workspaces,1,6,overshot,slide
    animation = border,1,10,default
    animation = windowsOut, 1, 7, default, popin 80%
    animation = borderangle, 1, 8, default
}

dwindle {
    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
    no_gaps_when_only = false
    force_split = 0
}

master {
    no_gaps_when_only = false
}

misc {
    disable_hyprland_logo = true
    disable_splash_rendering = true
    vfr = true
    vrr = 0
    enable_swallow = false
    swallow_regex = ^(kitty)$
}

plugin {
    hyprsplit {
        num_workspaces = 10
    }
}

Config File: /home/spidax/.config/hypr/conf.d/monitor.conf: Read Succeeded
monitor = DP-1, highres,0x0,1
monitor = DP-2, highres,2560x0,1
monitor = HDMI-A-1, preferred, auto, auto
workspace = 1, monitor:DP-1
workspace = 11, monitor:DP-2
workspace = 21, monitor:HDMI-A-1



Config File: /home/spidax/.config/hypr/conf.d/env.conf: Read Succeeded
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = GDK_BACKEND,wayland,x11
#env = WLR_DRM_NO_ATOMIC,1
#env = WLR_NO_HARDWARE_CURSORS,1
env = HYPRCURSOR_THEME,rose-pine-hyprcursor
env = HYPRCURSOR_SIZE,24
env = XCURSOR_SIZE,24
env = XCURSOR_THEME,BreezeX-Black
env = XDG_SESSION_DESKTOP,Hyprland
# env = _JAVA_AWT_WM_NONREPARENTING,1
env = GTK_THEME,Materia-dark

Config File: /home/spidax/.config/hypr/conf.d/exec.conf: Read Succeeded
exec-once = systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user start hyprland-session.target

exec-once = hyprpm reload -n
exec-once = xrandr --output DP-2 --primary
exec-once = wlsunset -T 6500 -t 4500 -S 06:30 -s 22:30
exec-once = ~/.config/hypr/scripts/waybar_reload

Config File: /home/spidax/.config/hypr/conf.d/rules.conf: Read Succeeded
windowrulev2 = float,class:^(Rofi)$
windowrulev2 = float,class:^(gamescope)$
windowrulev2 = move 0 0,class:^(gamescope)$
windowrulev2 = float,class:^(polkit-kde-authentication-agent-1)$
# windowrulev2 = forceinput,class:^(polkit-kde-authentication-agent-1)$
windowrulev2 = float,class:^()$,title:^(Picture in picture)$
windowrulev2 = float,class:^(Firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(blueberry.py)$
windowrulev2 = float,class:^(xdg-desktop-portal-hyprland)$
# steam fixes
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
# gaming
windowrulev2 = immediate, class:^steam_app_\d+$
workspace = 3, border:false, rounding:false

Config File: /home/spidax/.config/hypr/conf.d/binds.conf: Read Succeeded
$mainMod = SUPER

bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, C, killactive,
#bind = CTRLSHIFT, R, exit,
bind = $mainMod, F, fullscreen, 1
bind = $mainMod, SPACE, togglefloating,
bind = $mainMod, D, exec, rofi -show drun
bind = $mainMod, P, pseudo,      # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = CTRLALT, C, exec, kill -9 $(hyprctl activewindow -j | jq '.pid')

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

# Audio bind
binde = ,XF86AudioRaiseVolume, exec, ~/.config/hypr/scripts/volume up
binde = ,XF86AudioLowerVolume, exec, ~/.config/hypr/scripts/volume down
bind = ,XF86AudioMute, exec, ~/.config/hypr/scripts/volume mute
bind = SUPERSHIFT_L, A, exec, ~/.config/hypr/scripts/switch_audio_device

# Toggle VPN
bind = SUPERSHIFT_L, V, exec, ~/.config/hypr/scripts/toggle_vpn

# Toggle waybar
bind = SUPERSHIFT_L, W, exec, killall -SIGUSR1 waybar
bind = SUPERSHIFT_L, R, exec, killall -SIGUSR2 waybar

# Music binds
bind = $mainMod, Next, exec, playerctl -p YoutubeMusic previous
bind = $mainMod, Prior, exec, playerctl -p YoutubeMusic next
bind = $mainMod, XF86AudioMute, exec, playerctl -p YoutubeMusic play-pause
binde = $mainMod, XF86AudioLowerVolume, exec, playerctl -p YoutubeMusic volume 0.05-
binde = $mainMod, XF86AudioRaiseVolume, exec, playerctl -p YoutubeMusic volume 0.05+

# Screenshots
bind = CTRLALT, S, exec, grimblast --notify copysave area &
# bind = CTRLALT, A, exec, grimblast --notify copysave active &
bind = $mainMod, Home, exec, grimblast --notify copysave output &
bind = $mainMod, End, exec, grimblast --notify copysave screen &

# Lockscreen
bind = CTRLALT, L, exec, hyprlock
# Power menu
bind = $mainMod, X, exec, bash ~/.config/waybar/scripts/power-menu/powermenu.sh

# 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

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

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

# Move window to other active monitor
bind = $mainMod, G, split:swapactiveworkspaces, current +1

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

Description

Cannot enter any numbers for OTP 2FA step in Black Desert Online Steam Launcher after #6086 I stayed on version 0.40.0 because of that but after upgrade, issue still persists in 0.42.0. Mouse input works fine in that window, downgrading Hyprland helps as well.

The issue does not exist on KDE

Seems to have happened to another person in Hyprland on NixOS: ValveSoftware/Proton#3620 (comment)

Anything I can do to debug this further?

How to reproduce

  1. Use Hyprland version after xwayland/xwayland_shell: move to hyprland impl #6086
  2. Turn on 2FA on Black Desert Online steam version
  3. Launch Black Desert
  4. Try entering anything into 2FA code window

Crash reports, logs, images, videos

No response

@xadips xadips added the bug Something isn't working label Aug 25, 2024
@xadips xadips changed the title Keyboard input doesn't work in Black Desert Online Steam Launcher Keyboard input doesn't work in Black Desert Online Steam Launcher for 2FA after xwayland rewrite Aug 25, 2024
@vaxerski
Copy link
Member

no clue tbh I'd prolly have to debug this myself but I dont play that

@xadips
Copy link
Author

xadips commented Aug 25, 2024

no clue tbh I'd prolly have to debug this myself but I dont play that

Want a game key?

@vaxerski
Copy link
Member

vaxerski commented Aug 26, 2024

nope, I'd rather get it repro'd on a non-game

@Trimutex
Copy link
Contributor

Trimutex commented Aug 29, 2024

Thought I would toss in my info here as I'm able to repo and some other game launchers share a similar experience. Been attempting to debug this myself:

  • sendState() gets called and has for mapped windowed unfocused logged
  • surface never gets the focus prop
  • focusWindow() never gets called (tested with extra debug logs at the top)
  • window itself doesn't have the borders I set through hyprland.conf

Gonna to continue to try to debug this, but thought I'd share

@Trimutex
Copy link
Contributor

@xadips Can you try logging in using #7575 ?

@xadips
Copy link
Author

xadips commented Aug 30, 2024

Hey Thanks for digging, will try once I'm back on Sunday.

@xadips
Copy link
Author

xadips commented Sep 1, 2024

Keyboard input in the launcher works on latest commit, thanks for the fix <3

@xadips xadips closed this as completed Sep 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants