[RFC] Un-trapping mouse while running fullscreen (SDL limitation/design-flaw)
#46
I've got some random problems in fact using this patch, sometimes after reboot (don't know if the problem appears after an svn update or if it's also in beta1. )

anyway i've got a workaround (instead of the wmctrl hack that is also working) : I now use "awesome" WM. It's a windowless WM so, you can start XBMC in window mode and it looks like it's fullscreen. Works perfectly for me. I'm also using xorg 7.5 so i can use xinput to create a second pointer and keyboard then i can associate it to xbmc : one keyboard/mouse for main screen and one for second screen.
I'm happy Smile
Reply
#47
Oke, got a question.
Iam running XBMC 9.11 Live edition installed on my hard drive.
Got one monitor witch has touch screen possibilities.
But if i want to use my touch screen it only works in "Windowed" mode and not in full screen.

Can i use this patch to make a "Fake" Full screen so my touch screen will work in full screen?


Kind Regards
Reply
#48
I tried to compile and with fakefullscreen_adv_setting_20091205.diff, and with nograbfullscreen_adv_setting_20091129.diff. Still touch screen does not work in a full-screen mode. It can be necessary to start with any parametres? Which patch will help for operation with touch sreen?
Reply
#49
Can somebody help me with a quick tutorial how to insert this patch in the latest build? or give me a link to a website with a tutorial or to a side with a precompiled version Wink

Thanks in advanced
Reply
#50
Use the command in a root folder of sources:
patch -p0 -i patchfile.patch
Those modules where there were changes will be compiled only. The applied patches have not affected in any way program operation.

By the way, I use two video outputs (the TV and the monitor). When on the TV I start the program it is impossible to use the monitor. I do not understand what for mouse pointer processing is made.
Reply
#51
sergkhar Wrote:Use the command in a root folder of sources:
patch -p0 -i patchfile.patch
Those modules where there were changes will be compiled only. The applied patches have not affected in any way program operation.

By the way, I use two video outputs (the TV and the monitor). When on the TV I start the program it is impossible to use the monitor. I do not understand what for mouse pointer processing is made.

So i install the Live version on my machine, go to the root folder of the sources.
Give the patch command, reboot and ready?


Greetz
Reply
#52
No. It is necessary to compile and instal anew. A minimum:
make
make install
Under Windows I did not do never.
Reply
#53
What is the result, when if patch the source code of XBMC, can I use my mouse on other display?
Reply
#54
Hi, I stopped using XBMC becuase I use a Twinview setup, but now much later I've found this thread and patches and was intrigued by it. I need help though.

I downloaded the latest SVN trunk 27133. I attempted to apply both patches
"fakefullscreen_adv_setting_20091205.diff" and "fakefullscreen_gui_setting_20091205.diff" Some of the hunks don't apply, but I was able to apply them manually.

I keep getting this error:

Code:
make[1]: Entering directory `/usr/src/xbmc/xbmc'
/usr/bin/ccache g++ -MD -c -O2 -g -D_DEBUG -Wall -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -D'SVN_REV="27133M"' -DHAVE_CONFIG_H  -I../ -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/usr/include/freetype2 -Icores/dvdplayer -Icores/dvdplayer/Codecs/ffmpeg -Ilib/libUPnP/Platinum/Source/Core -Ilib/libUPnP/Platinum/Source/Platinum -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPnP/Platinum/Source/Devices/MediaRenderer -Ilib/libUPnP/Neptune/Source/System/Posix -Ilib/libUPnP/Neptune/Source/Core -Ilib/libcdio/libcdio/include -I/usr/src/xbmc     -I/usr/include/fribidi     -I/usr/include/libpng12           -I/usr/include/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/freetype2       -I/usr/include/mysql -I/usr/include/alsa               -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL   -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -I/usr/include/lzo WinSystemX11.cpp -o WinSystemX11.o
WinSystemX11.cpp: In member function ‘virtual bool CWinSystemX11::ResizeWindow(int, int, int, int)’:
WinSystemX11.cpp:144: error: ‘bFakeFullScreen’ was not declared in this scope
WinSystemX11.cpp:152: error: ‘bFakeFullScreen’ was not declared in this scope
make[1]: *** [WinSystemX11.o] Error 1
make[1]: Leaving directory `/usr/src/xbmc/xbmc'
make: *** [xbmc/xbmc.a] Error 2

I checked WinSystemX11.cpp and made sure all of the patch is there, and it is. I'm not sure what to do. Do these patches only work with an older version?
Reply
#55
You must apply the gui OR the advanced setting not both Smile
Reply
#56
It appears that this patch no longer works with the Current SVNs, can anyone comment Huh

I cannot apply it, it gets rejected with the GUIsettings

more GUISettings.cpp.rej
***************
*** 343,348 ****
AddBool(3, "videoscreen.blankdisplays", 13130, false);
AddSeparator(4, "videoscreen.sep1");
#endif
#if defined(__APPLE__) || defined(_WIN32)
// OSX does not use a driver set vsync
AddInt(5, "videoscreen.vsync", 13105, DEFAULT_VSYNC, VSYNC_DISABLED, 1, VSYN
C_ALWAYS, SPIN_CONTROL_TEXT);
--- 343,352 ----
AddBool(3, "videoscreen.blankdisplays", 13130, false);
AddSeparator(4, "videoscreen.sep1");
#endif
+ #if defined(_LINUX) && defined(HAS_XRANDR)
+ // This setting is new for Linux, default to off until tested by more users.
+ AddBool(2, "videoscreen.fakefullscreen", 14083, false);
+ #endif
#if defined(__APPLE__) || defined(_WIN32)
// OSX does not use a driver set vsync
AddInt(5, "videoscreen.vsync", 13105, DEFAULT_VSYNC, VSYNC_DISABLED, 1, VSYN
C_ALWAYS, SPIN_CONTROL_TEXT);
Reply
#57
it's outdated. just fix the conflicts.
Reply
#58
OK, I am not sure I know how to, if someone could point me in the right direction ??

Thanks,

A.
Reply
#59
Can someone give me a summary of where this effort is at? I see it dates back quite a bit, but I haven't seen anything thrown into the official releases. I'm not a developer and I'm not skilled at patching source. And I want to stay inline with stable offical releases. However I do feel this feature has a bigger need than some might realize.

Like me, not all of us have the need or the finances to have a dedicated HTPC. What I want this feature for is essentially a dual mon setup. One display showing xbmc fullscreen, one screen as my regular desktop to do my thing.

I'll note that I would prefer full screen with no mouse keyboard interaction at all. I use lirc. So if the issue is adding this feature while still retaining the ability to move mouse/keyboard focus between xbmc and the rest of my desktop, that isn't a feature that I care about. Maybe others wont care either.

I read an earlier post about basically launching xbmc in windowed mode, with no window manager border, and maxmized. If I could figure out how to do that, that would be good enough.

two of my friends are trying to achieve the same thing. One has his comp in his room and a tv, so you can see why being able to use a computer for both htpc and workstation simultaneously is handy.

Thanks
Reply
#60
bdallen Wrote:It doesn't look like this is possible using the SDL API. However it might be possible to run an x11 app without permission to access the keyboard in mouse - it sound like another ugly hack though.


I also use a remote. However when I want to work on my non-XBMC screen I use the keyboard, so having "\" ungrab the mouse works fine. Do you want XBMC to be fullscreen AND have control of the other monitor at the same time? I really think the windows manager fullscreen mode is the best way to get that behavior.

I just made a post previous, and I guess I must have skimmed over this. I don't have the means to test this right now but what you say might do the trick. I could scrip irxevents to launch xbmc and trigger the wm's full screen function. Now I wonder two things, will the screen ratio be right (ill check) and can I script it to give focus back to the last active window. So it will behave as though xbmc never had key/mouse focus in the first place.
Reply

Logout Mark Read Team Forum Stats Members Help
[RFC] Un-trapping mouse while running fullscreen (SDL limitation/design-flaw)1