supreeeme / extest Goto Github PK
View Code? Open in Web Editor NEWX11 XTEST reimplementation primarily for Steam Controller on Wayland
License: MIT License
X11 XTEST reimplementation primarily for Steam Controller on Wayland
License: MIT License
This tends to fix itself automatically, but can be force-fixed by tapping the screen once. Seems to be a recent bug as earlier releases did not suffer from this.
User is in the input group. Whenever I launch Steam it runs fine until I try to move the mouse and the entire thing crashes with Rust printing a permission denied.
What file is this trying to access so I can check permissions?
The steam gamepad configuration allows you to map inputs to two side mouse buttons, which are not in the library.
im trying to follow this and it says to compile extest as 64bit but idk how
Hi,
OS: Fedora Linux 37 (Workstation Edition)
It builds correctly with a 32bit toolchain but when I start steam with this command:
LD_PRELOAD=target/i686-unknown-linux-gnu/release/libextest.so steam
I receive a lot of the following error:
ERROR: ld.so: object '/home/nabos/clones/extest/target/i686-unknown-linux-gnu/release/libextest.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
What can I do to try to debug this issue ?
To test if it works I configured a desktop configuration for my steam controller, opened wev
and tried to press some buttons on the controller. Am I right to think that with extest working wev
should receive and display the inputs ?
Thank you for your work
In games configured with mouse scroll bindings, scrolling inputs seem to be duplicated. This can be an issue in navigating hotbars, as only only odd slots can be accessed.
I could replicate the behavior in Terraria(native), non-Steam Minecraft Java launched through PolyMC, and Wolfenstein: The New Order running through the latest Proton-GE. I'm currently running Nobara 39 - which now bundles extest with its Steam package, but the same was true of 38 with a manual installation. Notably, 38 ran GNOME 44 for its shell, and 39 is running 45.
When I connect a steam controller with this library loaded, the steam controller becomes unresponsive to any commands or button presses (requiring a hard shutoff).
The Steam UI also becomes partially unresponsive and outputs the following some time after connecting the controller
src/clientdll/controller.cpp (5231) : CGetControllerInfoWorkItem::RunFunc: too many read failures. src/clientdll/controller.cpp (5231) : CGetControllerInfoWorkItem::RunFunc: too many read failures. assert_20240626114726_32.dmp[776800]: Uploading dump (out-of-process) /tmp/dumps/assert_20240626114726_32.dmp assert_20240626114726_32.dmp[776800]: Finished uploading minidump (out-of-process): success = yes assert_20240626114726_32.dmp[776800]: response: CrashID=bp-6cb1d894-6e6e-4178-8bba-bbded2240626 assert_20240626114726_32.dmp[776800]: file ''/tmp/dumps/assert_20240626114726_32.dmp'', upload yes: ''CrashID=bp-6cb1d894-6e6e-4178-8bba-bbded2240626'' src/clientdll/steamengine.cpp (2742) : Assertion Failed: CSteamEngine::BMainLoop appears to have stalled > 15 seconds without event signalled src/clientdll/steamengine.cpp (2742) : Assertion Failed: CSteamEngine::BMainLoop appears to have stalled > 15 seconds without event signalled assert_20240626114751_38.dmp[777157]: Uploading dump (out-of-process) /tmp/dumps/assert_20240626114751_38.dmp assert_20240626114751_38.dmp[777157]: Finished uploading minidump (out-of-process): success = yes assert_20240626114751_38.dmp[777157]: response: CrashID=bp-bef388cf-b988-4acd-b773-282e82240626 assert_20240626114751_38.dmp[777157]: file ''/tmp/dumps/assert_20240626114751_38.dmp'', upload yes: ''CrashID=bp-bef388cf-b988-4acd-b773-282e82240626''''
Any Library items currently "cached" will still display, but any games that have not been clicked this session will just perpetually load. All menu items cease to function and games will not launch.
Steam will eventually close on it's own after this occurs.
Disconnecting the Steam Controller will not make steam responsive again and the Steam Controller will not revert to Lizard mode if steam is killed unless the controller is reconnected afterwards.
Starting steam without the library loaded results in previous expected behaviour. Trackpads work, but cursor does not update visually
EDIT: Upon further diagnosing, it seems it's broken both with or without the library running. I will be opening issue in appropriate location.
Would be nice to allow specify wayland display with env variable such as EXTEST_WAYLAND_DISPLAY
. So you can expose the env variable to the library but not the main process or any child processes.
Would allow me to easily package it up for NixOS with a specific tag to point to.
It seems like these are the only two things that doesn't fare well with this as the cursors are still invisible. The rest of the mouse related bindings and input styles seem to work. Tested in both the desktop and Cookie Clicker
Sadly I still have some keys that seem to make the current field defocus (might be bound now to the tab key), which are: @, #, { and }. If you can make them behave, thanks a lot :)
Hi, first I wanted to say thanks for making this, it's incredible that Steam Input can finally just be used on Wayland.
I ran into this issue in testing the Steam keyboard. The Tab key does nothing, and modifiers like caps lock and left shift don't change the output.
Tab is the odd one since it's not a modifier, in my testing it seems as if it doesn't even fire XTestFakeKeyEvent.
When streaming a game with Remote Play, mouse cursor motion is sent to the other PC as expected, but the local cursor is not moved. Cursor style changes and hide/reveal happen but the local cursor never moves. The only way to move both remote and local cursors in game is with the guide button chord commands. I'm using the libextest.so bazzite distributes right now, but I'll build it myself and try that just as soon as I get to grips with the whole toolbox thing.
Hello, I am receiving the following error when attempting to compile
linking with `cc` failed: exit status: 1
Would you happen to know what the issue is?
Fedora 38 - KDE Plasma
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.