Quake 4 Some Keys Not Binding Correctly

(EDIT) I’ll leave this here in case it helps others, and perhaps add to the thread with any details I can. This magically started working now. Not sure what I did to make it so… I started the game with the actual game play running, then went to controls, and that appears to have captured the keys. However, I also noted that the wine-configuation was allowed to set a virtual desktop at 1920x1080 and the keyboard worked to type those values in the screen size fields in wine. I tried the system version of wine, that didn’t work and I set it back to Proton. Runner is set to wine.
System Options Disable Lutris Runtime is now checked, by default that was unchecked.

Whatever the key, now it runs. Wine config is set to use virtual desktop.

I would have added this as another post but didn’t want anyone wasting time on a problem that’s solved, so I edited and added it here.
(/EDIT)

(EDIT#2)
Just as quickly as it fixed itself, it just quit again. This time I’m really perplexed as to what caused it other than closing the game and reopening. But now I know I’m close…
(/EDIT#2)

I’ve been trying to get Quake 4 running on 2 different Fedora KDE 44 systems. The game itself runs fine on both, but in both cases when I try to configure the controls, many keys are seen as numlock. AI results and fixes so far have not helped. Often the info is so outdated that the very options in Lutris no longer exist.

Today I uninstalled the Lutris I had from the Fedora repository and installed the Flatpak version (using Discover to install that). That solved a crashing issue I had with the GOG Return to Castle Wolfenstein (ancient id game) when installing the Flatpak version of that off GOG.

Systems are both AMD Ryzens with Radeon graphics cards. One with a generic 104 keyboard, the other with a Logitech media keyboard with additional buttons for web and media controls (which I never use, but they do work at the desktop. For instance the calculator button opens the calculator).

Depending on the wine/proton config setting of Allow the window manager to control the window, I get 2 different problems. With that unchecked, If I try to config some control as “S”, the SI type will do nothing in game, but an S will have shown up in the Lutris window game-search field when I exit the game. If I try 4 times, 4 Ss will be out there. So the key was never sent to the fullscreen game, it remained at the desktop. I do have 2 monitors if that matters. Some AI responses did think that’s also a key.

In system settings I have virtual keyboard set to none, but did try with Plasma and IBus Wayland with no difference.

The other situation when that is checked is the key shows up as numlock. That is true for many keys, I can’t say for all keys. In game, some of the keys work, others do not.

And If I go to the Wine graphics settings and try to setup a virtual desktop, even there I can’t type the desktop size, the keys will show up in the games window which is also visible on my screen. SO even the wineconfiguration isn’t getting keys.

I did update the system today so packages are current. I installed Gamescope but that can’t be clicked in my configure window.

Here’s output from the command ./net.lutris.Lutris -d

phil@fedora:/var/lib/flatpak/app/net.lutris.Lutris/x86_64/stable/986be5709ac3e54e4331313a40891c2007760e999c050ccd84511b9d097a1b7b/export/bin$ ./net.lutris.Lutris -d
INFO 2026-10-02 12:40:14,917 [application.do_command_line:468]:Starting Lutris 0.5.22
ERROR 2026-10-02 12:40:14,920 [system.read_process_output:192]:[‘/usr/bin/vulkaninfo’, ‘–summary’] command failed: [Errno 2] No such file or directory: ‘/usr/bin/vulkaninfo’
DEBUG 2026-10-02 12:40:14,920 [system._execute:108]:Executing lspci
INFO 2026-10-02 12:40:14,932 [startup.run_all_checks:120]:“card1” is Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (1002:67df 1849:5026 amdgpu) Driver 26.2.2
ERROR 2026-10-02 12:40:14,934 [system.read_process_output:192]:[‘/usr/bin/vulkaninfo’, ‘–summary’] command failed: [Errno 2] No such file or directory: ‘/usr/bin/vulkaninfo’
DEBUG 2026-10-02 12:40:14,934 [system._execute:108]:Executing lspci
INFO 2026-10-02 12:40:14,950 [startup.run_all_checks:120]:“card0” is Advanced Micro Devices, Inc. [AMD/ATI] Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] (1002:15d8 1002:15d8 amdgpu) Driver 26.2.2
DEBUG 2026-10-02 12:40:15,172 [xrandr.get_resolutions:91]:Retrieving resolution list
DEBUG 2026-10-02 12:40:15,175 [xrandr._get_vidmodes:18]:Retrieving 59 video modes from XrandR
DEBUG 2026-10-02 12:40:15,260 [path_cache._update_missing_games:114]:Checking for missing games
DEBUG 2026-10-02 12:40:15,496 [api.check_stale_runtime_versions:52]:Modified at Fri 02 Oct 2026 10:44:29 AM , will update after Fri 02 Oct 2026 04:44:29 PM
DEBUG 2026-10-02 12:40:15,499 [lutriswindow.create_runtime_updater_cb:1460]:Runtime up to date
INFO 2026-10-02 12:40:37,306 [application.do_shutdown:1076]:Shutting down Lutris
phil@fedora:/var/lib/flatpak/app/net.lutris.Lutris/x86_64/stable/986be5709ac3e54e4331313a40891c2007760e999c050ccd84511b9d097a1b7b/export/bin$

And info from the --submit-issue

{
“comment”: "Lutris at the desktop level is intercepting keys intended for the 1920x1080 fullscreen Quake 4 GOG edition. meaning config’ing keys, I press teh key in game but it shows up in the game search on the lutris window which is hidden. Keys not being passed. ",
“system”: {
“gpus”: [
{
“DRIVER”: “amdgpu”,
“PCI_ID”: “1002:67DF”,
“PCI_SUBSYS_ID”: “1849:5026”,
“PCI_CLASS”: “30000”,
“PCI_SLOT_NAME”: “0000:10:00.0”,
“MODALIAS”: “pci:v00001002d000067DFsv00001849sd00005026bc03sc00i00”
},
{
“DRIVER”: “amdgpu”,
“PCI_ID”: “1002:15D8”,
“PCI_SUBSYS_ID”: “1002:15D8”,
“PCI_CLASS”: “30000”,
“PCI_SLOT_NAME”: “0000:2b:00.0”,
“MODALIAS”: “pci:v00001002d000015D8sv00001002sd000015D8bc03sc00i00”
}
],
“env”: {
“XDG_RUNTIME_DIR”: “/run/user/1000”,
“container”: “flatpak”,
“ALSA_CONFIG_DIR”: “/usr/share/alsa”,
“ALSA_CONFIG_PATH”: “/usr/share/alsa/alsa-flatpak.conf”,
“APPIMAGE_EXTRACT_AND_RUN”: “1”,
“AT_SPI_BUS_ADDRESS”: “unix:path=/run/flatpak/at-spi-bus”,
“COLORFGBG”: “15;0”,
“COLORTERM”: “truecolor”,
“DBUS_SESSION_BUS_ADDRESS”: “unix:path=/run/flatpak/bus”,
“DBUS_SYSTEM_BUS_ADDRESS”: “unix:path=/run/dbus/system_bus_socket”,
“DEBUGINFOD_IMA_CERT_PATH”: “/etc/keys/ima:”,
“DEBUGINFOD_URLS”: "ima:enforcing https://debuginfod.fedoraproject.org/ ima:ignore ",
“DESKTOP_SESSION”: “/usr/share/wayland-sessions/plasma.desktop”,
“DISPLAY”: “:0”,
“EDITOR”: “/usr/bin/nano”,
“FLATPAK_ID”: “net.lutris.Lutris”,
“FLATPAK_SANDBOX_DIR”: “/home/phil/.var/app/net.lutris.Lutris/sandbox”,
“FLATPAK_TTY_PROGRESS”: “1”,
“GDK_CORE_DEVICE_EVENTS”: “1”,
“GI_TYPELIB_PATH”: “/app/lib/girepository-1.0”,
“GPG_TTY”: “/dev/pts/1”,
“GST_PLUGIN_SYSTEM_PATH”: “/app/lib32/gstreamer-1.0:/app/lib/gstreamer-1.0:/usr/lib/i386-linux-gnu/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0”,
“GTK2_RC_FILES”: “/etc/gtk-2.0/gtkrc:/home/phil/.gtkrc-2.0:/home/phil/.config/gtkrc-2.0”,
“GTK_RC_FILES”: “/etc/gtk/gtkrc:/home/phil/.gtkrc:/home/phil/.config/gtkrc”,
“HISTCONTROL”: “ignoreboth”,
“HISTFILE”: “/home/phil/.bash_history”,
“HISTSIZE”: “1000”,
“HISTTIMEFORMAT”: "%F %T ",
“HOME”: “/home/phil”,
“HOSTNAME”: “fedora”,
“ICEAUTHORITY”: “/run/user/1000/iceauth_fnKlbW”,
“IMSETTINGS_INTEGRATE_DESKTOP”: “yes”,
“IMSETTINGS_MODULE”: “none”,
“INVOCATION_ID”: “eafa2b67b36d464191583623ef61fc92”,
“JOURNAL_STREAM”: “10:22345”,
“KDEDIRS”: “/usr”,
“KDE_APPLICATIONS_AS_SCOPE”: “1”,
“KDE_FULL_SESSION”: “true”,
“KDE_SESSION_UID”: “1000”,
“KDE_SESSION_VERSION”: “6”,
“KONSOLE_DBUS_ACTIVATION_COOKIE”: “C+w0Hag8IYT1FxhMTzd+30oXky96ur3yH3hz58p6It0=”,
“KONSOLE_DBUS_SERVICE”: “:1.702”,
“KONSOLE_DBUS_SESSION”: “/Sessions/1”,
“KONSOLE_DBUS_WINDOW”: “/Windows/1”,
“KONSOLE_VERSION”: “260801”,
“LANG”: “en_US.UTF-8”,
“LANGUAGE”: “”,
“LD_LIBRARY_PATH”: “/usr/lib/extensions/vulkan/gamescope/lib”,
“LESSOPEN”: “||/usr/bin/lesspipe.sh %s”,
“LOGNAME”: “phil”,
“LS_COLORS”: “rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:.7z=01;31:.ace=01;31:.alz=01;31:.apk=01;31:.arc=01;31:.arj=01;31:.bz=01;31:.bz2=01;31:.cab=01;31:.cpio=01;31:.crate=01;31:.deb=01;31:.drpm=01;31:.dwm=01;31:.dz=01;31:.ear=01;31:.egg=01;31:.esd=01;31:.gz=01;31:.jar=01;31:.lha=01;31:.lrz=01;31:.lz=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.lzo=01;31:.pyz=01;31:.rar=01;31:.rpm=01;31:.rz=01;31:.sar=01;31:.swm=01;31:.t7z=01;31:.tar=01;31:.taz=01;31:.tbz=01;31:.tbz2=01;31:.tgz=01;31:.tlz=01;31:.txz=01;31:.tz=01;31:.tzo=01;31:.tzst=01;31:.udeb=01;31:.war=01;31:.whl=01;31:.wim=01;31:.xz=01;31:.z=01;31:.zip=01;31:.zoo=01;31:.zst=01;31:.avif=01;35:.jpg=01;35:.jpeg=01;35:.jxl=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=01;36:.au=01;36:.flac=01;36:.m4a=01;36:.mid=01;36:.midi=01;36:.mka=01;36:.mp3=01;36:.mpc=01;36:.ogg=01;36:.ra=01;36:.wav=01;36:.oga=01;36:.opus=01;36:.spx=01;36:.xspf=01;36:~=00;90:#=00;90:.bak=00;90:.crdownload=00;90:.dpkg-dist=00;90:.dpkg-new=00;90:.dpkg-old=00;90:.dpkg-tmp=00;90:.old=00;90:.orig=00;90:.part=00;90:.rej=00;90:.rpmnew=00;90:.rpmorig=00;90:.rpmsave=00;90:.swp=00;90:.tmp=00;90:.ucf-dist=00;90:.ucf-new=00;90:*.ucf-old=00;90:”,
“MAIL”: “/var/spool/mail/phil”,
“MANAGERPID”: “1526”,
“MANAGERPIDFDID”: “4468”,
“MEMORY_PRESSURE_WATCH”: “/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure”,
“MEMORY_PRESSURE_WRITE”: “c29tZSAyMDAwMDAgMjAwMDAwMAA=”,
“MOZ_GMP_PATH”: “/usr/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed”,
“PATH”: “/usr/bin:/app/bin:/app/utils/bin:/usr/lib/extensions/vulkan/MangoHud/bin/:/app/jre/bin/:/usr/lib/extensions/vulkan/gamescope/bin”,
“PROFILEHOME”: “”,
“PS1”: "[\ud83d\udce6 $FLATPAK_ID \W]\$ ",
“PULSE_CLIENTCONFIG”: “/run/flatpak/pulse/config”,
“PULSE_SERVER”: “unix:/run/flatpak/pulse/native”,
“PWD”: “/home/phil”,
“PYTHONUSERBASE”: “/var/data/python”,
“QT_WAYLAND_RECONNECT”: “1”,
“SESSION_MANAGER”: “local/unix:@/tmp/.ICE-unix/2048,unix/unix:/tmp/.ICE-unix/2048”,
“SHELL”: “/bin/sh”,
“SHELL_SESSION_ID”: “3cfb66a156eb45619a900b3ead104fef”,
“SHLVL”: “1”,
“SSH_ASKPASS”: “/usr/bin/ksshaskpass”,
“SSH_AUTH_SOCK”: “/run/user/1000/ssh-agent.socket”,
“SYSTEMD_EXEC_PID”: “2059”,
“TERM”: “xterm-256color”,
“USER”: “phil”,
“WAYLAND_DISPLAY”: “wayland-0”,
“WEBKIT_DISABLE_DMABUF_RENDERER”: “1”,
“WINDOWID”: “94919016001232”,
“XAUTHORITY”: “/run/flatpak/Xauthority”,
“XDG_CACHE_HOME”: “/home/phil/.var/app/net.lutris.Lutris/cache”,
“XDG_CONFIG_DIRS”: “/app/etc/xdg:/etc/xdg”,
“XDG_CONFIG_HOME”: “/home/phil/.var/app/net.lutris.Lutris/config”,
“XDG_CURRENT_DESKTOP”: “KDE”,
“XDG_DATA_DIRS”: “/app/share:/usr/lib/extensions/vulkan/share:/usr/share:/usr/share/runtime/share:/run/host/user-share:/run/host/share:/usr/lib/pressure-vessel/overrides/share”,
“XDG_DATA_HOME”: “/home/phil/.var/app/net.lutris.Lutris/data”,
“XDG_MENU_PREFIX”: “plasma-”,
“XDG_SEAT”: “seat0”,
“XDG_SEAT_PATH”: “/org/freedesktop/DisplayManager/Seat0”,
“XDG_SESSION_CLASS”: “user”,
“XDG_SESSION_DESKTOP”: “KDE”,
“XDG_SESSION_ID”: “1”,
“XDG_SESSION_PATH”: “/org/freedesktop/DisplayManager/Session0”,
“XDG_SESSION_TYPE”: “wayland”,
“XDG_STATE_HOME”: “/home/phil/.var/app/net.lutris.Lutris/.local/state”,
“XDG_VTNR”: “1”,
“XKB_DEFAULT_LAYOUT”: “us”,
“XKB_DEFAULT_MODEL”: “pc105”,
“XMODIFIERS”: “@im=none”,
“_”: “./net.lutris.Lutris”,
“_JAVA_AWT_WM_NONREPARENTING”: “1”,
“__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS”: “/etc/egl/egl_external_platform.d:/usr/lib/x86_64-linux-gnu/GL/egl/egl_external_platform.d:/usr/share/egl/egl_external_platform.d”,
“PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION”: “python”
},
“missing_libs”: {
“OPENGL”: [
[],
[]
],
“VULKAN”: [
[],
[]
],
“GNUTLS”: [
[],
[]
],
“WINE”: [
[],
[]
],
“GAMEMODE”: [
[],
[]
],
“RADEON”: [
[],
[]
]
},
“cpus”: [
{
“processor”: “0”,
“vendor_id”: “AuthenticAMD”,
“cpu family”: “23”,
“model”: “24”,
“model name”: “AMD Ryzen 3 3200G with Radeon Vega Graphics”,
“stepping”: “1”,
“microcode”: “0x810810e”,
“cpu MHz”: “4000.219”,
“cache size”: “512 KB”,
“physical id”: “0”,
“siblings”: “4”,
“core id”: “0”,
“cpu cores”: “4”,
“apicid”: “0”,
“initial apicid”: “0”,
“fpu”: “yes”,
“fpu_exception”: “yes”,
“cpuid level”: “13”,
“wp”: “yes”,
“flags”: “fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es”,
“bugs”: “sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0 ibpb_no_ret spectre_v2_user vmscape”,
“bogomips”: “7200.34”,
“TLB size”: “2560 4K pages”,
“clflush size”: “64”,
“cache_alignment”: “64”,
“address sizes”: “43 bits physical, 48 bits virtual”,
“power management”: “ts ttp tm hwpstate eff_freq_ro [13] [14]”
},
{
“processor”: “1”,
“vendor_id”: “AuthenticAMD”,
“cpu family”: “23”,
“model”: “24”,
“model name”: “AMD Ryzen 3 3200G with Radeon Vega Graphics”,
“stepping”: “1”,
“microcode”: “0x810810e”,
“cpu MHz”: “4000.156”,
“cache size”: “512 KB”,
“physical id”: “0”,
“siblings”: “4”,
“core id”: “1”,
“cpu cores”: “4”,
“apicid”: “1”,
“initial apicid”: “1”,
“fpu”: “yes”,
“fpu_exception”: “yes”,
“cpuid level”: “13”,
“wp”: “yes”,
“flags”: “fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es”,
“bugs”: “sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0 ibpb_no_ret spectre_v2_user vmscape”,
“bogomips”: “7200.34”,
“TLB size”: “2560 4K pages”,
“clflush size”: “64”,
“cache_alignment”: “64”,
“address sizes”: “43 bits physical, 48 bits virtual”,
“power management”: “ts ttp tm hwpstate eff_freq_ro [13] [14]”
},
{
“processor”: “2”,
“vendor_id”: “AuthenticAMD”,
“cpu family”: “23”,
“model”: “24”,
“model name”: “AMD Ryzen 3 3200G with Radeon Vega Graphics”,
“stepping”: “1”,
“microcode”: “0x810810e”,
“cpu MHz”: “4000.227”,
“cache size”: “512 KB”,
“physical id”: “0”,
“siblings”: “4”,
“core id”: “2”,
“cpu cores”: “4”,
“apicid”: “2”,
“initial apicid”: “2”,
“fpu”: “yes”,
“fpu_exception”: “yes”,
“cpuid level”: “13”,
“wp”: “yes”,
“flags”: “fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es”,
“bugs”: “sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0 ibpb_no_ret spectre_v2_user vmscape”,
“bogomips”: “7200.34”,
“TLB size”: “2560 4K pages”,
“clflush size”: “64”,
“cache_alignment”: “64”,
“address sizes”: “43 bits physical, 48 bits virtual”,
“power management”: “ts ttp tm hwpstate eff_freq_ro [13] [14]”
},
{
“processor”: “3”,
“vendor_id”: “AuthenticAMD”,
“cpu family”: “23”,
“model”: “24”,
“model name”: “AMD Ryzen 3 3200G with Radeon Vega Graphics”,
“stepping”: “1”,
“microcode”: “0x810810e”,
“cpu MHz”: “4000.464”,
“cache size”: “512 KB”,
“physical id”: “0”,
“siblings”: “4”,
“core id”: “3”,
“cpu cores”: “4”,
“apicid”: “3”,
“initial apicid”: “3”,
“fpu”: “yes”,
“fpu_exception”: “yes”,
“cpuid level”: “13”,
“wp”: “yes”,
“flags”: “fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es”,
“bugs”: “sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0 ibpb_no_ret spectre_v2_user vmscape”,
“bogomips”: “7200.34”,
“TLB size”: “2560 4K pages”,
“clflush size”: “64”,
“cache_alignment”: “64”,
“address sizes”: “43 bits physical, 48 bits virtual”,
“power management”: “ts ttp tm hwpstate eff_freq_ro [13] [14]”
}
],
“drives”: [
{
“name”: “sda”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: [],
“children”: [
{
“name”: “sda1”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
}
]
},
{
“name”: “sdb”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: [],
“children”: [
{
“name”: “sdb1”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdb2”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdb3”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: “216.8G”,
“fsuse%”: “53%”,
“mountpoints”: [
“/run/host/user-share/icons”,
“/run/host/share/icons”,
“/run/host/user-fonts-cache”,
“/run/host/fonts-cache”,
“/run/host/fonts”,
“/home/phil/.var/app/net.lutris.Lutris/config/user-dirs.dirs”,
“/home/phil/.var/app/net.lutris.Lutris/data/umu”,
“/run/host/os-release”,
“/media”,
“/home/phil/.var/app/net.lutris.Lutris”,
“/home/phil/.local/share/umu”,
“/home/phil”,
“/usr/share/zoneinfo”,
“/var/tmp”,
“/var/config”,
“/var/data”,
“/var/cache”,
“/etc/xdg”,
“/etc/ssl”,
“/etc/security”,
“/etc/rc_keymaps”,
“/etc/pulse”,
“/etc/profile.d”,
“/etc/pki”,
“/etc/gtk-3.0”,
“/etc/gss”,
“/etc/fonts”,
“/etc/debuginfod”,
“/etc/dbus-1”,
“/etc/alsa”,
“/etc/xattr.conf”,
“/etc/vdpau_wrapper.cfg”,
“/etc/ssh_config”,
“/etc/slsh.rc”,
“/etc/services”,
“/etc/rpc”,
“/etc/rc_maps.cfg”,
“/etc/protocols”,
“/etc/nsswitch.conf”,
“/etc/moduli”,
“/etc/mke2fs.conf”,
“/etc/ld.so.conf”,
“/etc/issue.net”,
“/etc/issue”,
“/etc/e2scrub.conf”,
“/etc/machine-id”,
“/usr/share/runtime/share/themes/Breeze/gtk-3.0”,
“/usr/share/runtime/locale”,
“/usr/lib/x86_64-linux-gnu/codecs-extra”,
“/usr/lib/x86_64-linux-gnu/GL/default”,
“/usr/lib/x86_64-linux-gnu/GL/default”,
“/app/share/wine/mono”,
“/app/share/wine/gecko”,
“/app/share/runtime/locale”,
“/app/lib/i386-linux-gnu/codecs-extra”,
“/app/lib/i386-linux-gnu/GL/default”,
“/app/lib/i386-linux-gnu/GL/default”,
“/app/lib/i386-linux-gnu”,
“/app”,
“/usr”
]
}
]
},
{
“name”: “sdc”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: [],
“children”: [
{
“name”: “sdc1”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
}
]
},
{
“name”: “sdd”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sde”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdf”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdg”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdh”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdi”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sdj”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “sr0”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: []
},
{
“name”: “zram0”,
“fstype”: null,
“fsver”: null,
“label”: null,
“uuid”: null,
“fsavail”: null,
“fsuse%”: null,
“mountpoints”: [
“[SWAP]”
]
}
],
“ram”: {
“MemTotal”: “14219344”,
“MemFree”: “931688”,
“MemAvailable”: “10467968”,
“Buffers”: “15948”,
“Cached”: “9927704”,
“SwapCached”: “0”,
“Active”: “3506924”,
“Inactive”: “8753244”,
“Active(anon)”: “2513048”,
“Inactive(anon)”: “121828”,
“Active(file)”: “993876”,
“Inactive(file)”: “8631416”,
“Unevictable”: “116”,
“Mlocked”: “116”,
“SwapTotal”: “8388604”,
“SwapFree”: “8388584”,
“Zswap”: “0”,
“Zswapped”: “0”,
“Dirty”: “632”,
“Writeback”: “0”,
“AnonPages”: “2316484”,
“Mapped”: “1106108”,
“Shmem”: “318708”,
“KReclaimable”: “287656”,
“Slab”: “556172”,
“SReclaimable”: “287656”,
“SUnreclaim”: “268516”,
“KernelStack”: “17728”,
“PageTables”: “62780”,
“SecPageTables”: “3048”,
“NFS_Unstable”: “0”,
“Bounce”: “0”,
“WritebackTmp”: “0”,
“CommitLimit”: “15498276”,
“Committed_AS”: “16894268”,
“VmallocTotal”: “34359738367”,
“VmallocUsed”: “111920”,
“VmallocChunk”: “0”,
“Percpu”: “4224”,
“HardwareCorrupted”: “0”,
“AnonHugePages”: “0”,
“ShmemHugePages”: “0”,
“ShmemPmdMapped”: “0”,
“FileHugePages”: “0”,
“FilePmdMapped”: “0”,
“CmaTotal”: “0”,
“CmaFree”: “0”,
“Unaccepted”: “0”,
“Balloon”: “0”,
“GPUActive”: “92868”,
“GPUReclaim”: “90396”,
“HugePages_Total”: “0”,
“HugePages_Free”: “0”,
“HugePages_Rsvd”: “0”,
“HugePages_Surp”: “0”,
“Hugepagesize”: “2048”,
“Hugetlb”: “0”,
“DirectMap4k”: “551872”,
“DirectMap2M”: “14049280”,
“DirectMap1G”: “1048576”
},
“dist”: [
“”,
“”,
“”
],
“arch”: “x86_64”,
“kernel”: “7.2.8-200.fc44.x86_64”,
“glxinfo”: {
“opengl_profile_mask”: “compatibility profile”,
“opengl_shading_language_version”: “4.60”,
“opengl_renderer”: “AMD Radeon RX 570 Series (radeonsi, polaris10, ACO, DRM 3.64, 7.2.8-200.fc44.x86_64)”,
“direct_rendering”: “Yes”,
“opengl_context_flags”: “(none)”,
“name_of_display”: “:0”,
“opengl_core_profile_version”: “4.6 (Core Profile) Mesa 26.2.2 (git-3281a69a8b)”,
“screen”: “0”,
“opengl_version”: “4.6 (Compatibility Profile) Mesa 26.2.2 (git-3281a69a8b)”,
“opengl_core_profile_shading_language_version”: “4.60”,
“opengl_core_profile_context_flags”: “(none)”,
“opengl_es_profile_version”: “OpenGL ES 3.2 Mesa 26.2.2 (git-3281a69a8b)”,
“opengl_vendor”: “AMD”,
“display”: “:0”,
“opengl_es_profile_shading_language_version”: “OpenGL ES GLSL ES 3.20”,
“opengl_core_profile_profile_mask”: “core profile”
}
}
}

So, this worked for a while, but after closing Quake 4 and reopening it, now it’s back to the certain keys not working again.

At all times, A, D, F and X and ESC all work, so those will bind correctly (though those keys were the defaults so they didn’t need changed), but in game those keys work. When trying to use S as the jump key, when it binds as Numlock, pressing it in game does nothing, holding it down will eventually make a jump, and later when you use the A and D left/right keys, occasionally a delayed Jump will be executed. Once it starts working, which it has done without exiting and restarting the game, then it appears to work for as long as the game session goes on. But until then, all the unmapped keys are unavailable. I just tried T and Y (chat keys) but both of those don’t do anything. Not sure if they only work in MP online mode though. I’m testing with the single player campaign.

Some AI search results point to SELinux policies not allowing input capture by old ancient apps like this. Others say it disallows read/write permissions on some of the folders where game files are stored, I can’t say that appears to be an issue on my system either. I’ve seen other things unrelated to gaming where selinux did all sorts of wacky stuff randomly, so I can’t say this isn’t strictly an selinux issue. Currently there’s nothing to see in the selinux troubleshooter from the last month, so that makes me think it’s not responsible for this game problem.

This game worked an hour ago. I had no idea why it didn’t before that. No idea why it changes, and now no idea why it’s not working again. Nothing I change appears to do anything. And then it’ll just decide to work on it’s own…
Currently: Runner Options Wine=GE-Proton, all graphics sliders checked. DPI blank
System Option: Disable Lutris Runtime is checked. Prefer system libraries is also. GPU Auto (I do have a radeon RX570 and a Ryzen with internal video, with the 570 set to default in Fedora.
Gamescope off. All else defaults.

Wine config, Under graphics, Emulate a virtual desktop was checked and set to 1920x1080 (native resolution of both my monitors). But that setting appears to not save because if I close wine config and reopen it, that checkbox is missing. Even though it saves the 1920x1080 resolution numbers I had entered.

Oh wow… It appears this happens because the numlock key was active. Pressing that and turning that off eliminates the issue. I’m sure that’s not the only thing that does it because it just worked for an hour with that turned on. But one way to fix it is to simply hit numlock…

Maybe some system updates or later updates in the game, wine/proton or Lutris, will resolve this permanently.

I’m also considering buying a different keyboard that’s one of those listed on the Fedora KB input devices list, such as a Logitech… My generic one works for everything else, just not this.