| Summary: | Cursor restricted to SDL application in fullscreen even in multi-monitor situations | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Lukas Sabota <LTsmooth42> |
| Component: | main | Assignee: | Sam Lantinga <slouken> |
| Status: | RESOLVED ENDOFLIFE | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | CC: | LTsmooth42 |
| Version: | 1.2.15 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Attachments: |
A simple C program to demonstrate the fullscreen cursor issue in this bug
Simple C program to reproduce the issue |
||
Created attachment 871 [details]
Simple C program to reproduce the issue
added instructions for compiling in the source code for clarity
Hello, and sorry if you're getting several copies of this message by email, since we are closing many bugs at once here. We have decided to mark all SDL 1.2-related bugs as RESOLVED ENDOFLIFE, as we don't intend to work on SDL 1.2 any further, but didn't want to mark a large quantity of bugs as RESOLVED WONTFIX, to clearly show what was left unattended to and make it easily searchable. Our current focus is on SDL 2.0. If you are still having problems with an ENDOFLIFE bug, your absolute best option is to move your program to SDL2, as it will likely fix the problem by default, and give you access to modern platforms and tons of super-cool new features. Failing that, we _will_ accept small patches to fix these issues, and put them in revision control, although we do not intend to do any further official 1.2 releases. Failing that, please feel free to contact me directly by email (icculus@icculus.org) and we'll try to find some way to help you out of your situation. Thank you, --ryan. |
Created attachment 870 [details] A simple C program to demonstrate the fullscreen cursor issue in this bug Summary: When an SDL application is in fullscreen mode, the cursor in that application is restricted to the SDL application. In a setup where the X11 server has multiple heads (monitors) configured in a non-Xinerama/TwinView setup (which is preferred for performance purposes in most-all situations) the user is unable to interact with any applications running on other X screens because the cursor and therefore focus is locked to the fullscreen SDL application. This restricts a multi-monitor environment into a single-application environment. Most games have a console in which the cursor grab is released so that you can access other applications, so it would really helpful if this could be utilized in SDL games. Steps to reproduce: (At least two monitors required). Configure the two monitors in separate X screens so that a fullscreen SDL application uses only one monitor and doesn't attempt to span across multiple monitors. Enable fullscreen in the SDL application. Release cursor grab ("`" key in most FPS games to bring up console). Try to move the cursor to another monitor/X screen. I wrote a simple C program to demonstrate this issue. The example C program can be compiled with the following command: gcc `sdl-config --cflags --libs` cursor_bug.c -o cursor_bug When you run the program (./cursor_bug) it will spawn an SDL surface in fullscreen with the mouse released and you can see that the cursor is restricted to the fullscreen window and you cannot move it outside the boundaries of the SDL application. Current (not-so-great) workaround: Quickly switch to windowed mode when you need to do something outside the SDL application and switch back to fullscreen when you are completed. Alternatively, for some applications you can disable window borders and docks and set the resolution to your desktops resolution. This unfortunately is not an ideal situation (especially for games that do not allow for full control over windowed resolution). Notes: Let me know what further information I can provide to assist in getting this bug solved. I may poke around at the SDL source code if I get a chance but I have never checked out the tree and would like to receive some input on the issue before attempting to tackle the issue alone.