Jump to content
LaunchBox Community Forums

Mouse Cursor reset after exiting game launched by LaunchBox


Dimitri

Recommended Posts

I couldn't find a topic discussing this issue specifically so I apologize if this has been answered or acknowledged somewhere.

I have a custom mouse cursor set and larger size setting (running on my living room htpc). For some reason, when I launch a game from LB and exit out (normally using the pause screen), my mouse cursor gets set back to default set and size and I have to go into settings and reset my mouse options. Have others experienced this and is there a workaround anybody knows about?

Thanks

Link to comment
Share on other sites

Its the startup screens that cause it in my case. I have reported it several times, so i hope it is fixed at some point as i simply dont use the startup screens because of it. I am on a 4K TV running at 200% Windows scaling, and the start screens reduce my mouse cursor to the size it would be at a 4k 100% scaling, which is way to small to be usable.

No other program i use on my PC causes this issue other the Launchbox/Bigbox in combination with the startup screens.

Link to comment
Share on other sites

31 minutes ago, neil9000 said:

Its the startup screens that cause it in my case. I have reported it several times, so i hope it is fixed at some point as i simply dont use the startup screens because of it. I am on a 4K TV running at 200% Windows scaling, and the start screens reduce my mouse cursor to the size it would be at a 4k 100% scaling, which is way to small to be usable.

No other program i use on my PC causes this issue other the Launchbox/Bigbox in combination with the startup screens.

Thanks for the info. I have a similar setup and 4K TV so I’ll try disabling startup screens. If it means I won’t have to readjust mouse settings each time I can do without despite those being a nice touch to the launcher. 

Link to comment
Share on other sites

1 minute ago, Dimitri said:

Thanks for the info. I have a similar setup and 4K TV so I’ll try disabling startup screens. If it means I won’t have to readjust mouse settings each time I can do without despite those being a nice touch to the launcher. 

Yeah id like to use them also, but having to head to the options after every game launch just in order to actually use my computer properly just isnt worth it for me.

Link to comment
Share on other sites

Hi All

So I did originally try to send this as a private message but that didn't work

I know Dimitri uses a custom mouse cursor set, but do  Songwriter Bob and Neil9000 or are yours just increased in size through scaling.

I have been having the same issue-but no 4K TV here just, and it has slowing been working its way to the top of my to do list as I solved other issues with my system.

Having seen this thread I have had a quick play and got a very ugly "solution" (thus the attempt at a private message rather than a public) that seems to require an AHK to always be running in the background. I imagine it could be set so that a very specific and unlikely to be used combo could be set to make to it run, but for practising I just stuck it to the letter q on my keyboard. Basically LaunchBox turns you cursor back to a little one, you press the button and should get back your original one.

It isn't my work, the AHK comes from AHK website, and I imagine it could be adapted to our needs, but as yet I haven't tried.

I will keep working on it, but would happily share the horrible system with one or all if you would like to work on it as well.

Let me know

Kind regards

Edited by Kiinkyfoxx
  • Like 1
Link to comment
Share on other sites

Hi @Dimitri, @neil9000 and @SongwriterBob

UPDATE-the ahks have been adapted and improved by  JoeViking245 - thank you yet again.

UPDATE 2 - This has been improved again with the help of JayJay. 

For new version go to page 2 

Original post details removed as outdated and confusing. 

Edited by Kiinkyfoxx
Removing old and incorrect info
Link to comment
Share on other sites

@Kiinkyfoxx Thanks for this, im just about to take a look at it. Just reading through your post instructions though and you mention using the @ key , while like you i am in the UK, a lot of the users here are not, and i wonder if that key is a good choice as it may move depending on the keyboard layouts of other country's, the US for example put the @ on the 2 key. Not sure if it makes any difference or not, but thought id mention it.

Link to comment
Share on other sites

11 minutes ago, neil9000 said:

@Kiinkyfoxx Thanks for this, im just about to take a look at it. Just reading through your post instructions though and you mention using the @ key , while like you i am in the UK, a lot of the users here are not, and i wonder if that key is a good choice as it may move depending on the keyboard layouts of other country's, the US for example put the @ on the 2 key. Not sure if it makes any difference or not, but thought id mention it.

I started off using the * key but changed it as I thought people might use that in emulators and was trying to think of the least used keys. 

As the @ key is sent by the AHK rather than the user I don't know if it will matter on keyboard region.

Do we have a "resident" ahk guru who might know the answer to this? I will try it with setting my keyboard into US mode in Windows and see what happens...... But not sure if that is a scientific test. 

Link to comment
Share on other sites

OK on a quick test have set my keyboard to US style so that Shift & 2 is @ rather than Shift & ' and the AHK still works automatically on closing of game and returning to Launchbox game selection screen.

Still the @ button doesn't work in emulators or Launchbox/Bigbox, or as you noticed at anytime when it is running, but it should close if neither LaunchBox or Bigbox are open.

The key can also be changed by the end user in the AHK if they want it to be something else. I have commented them to show which lines to change if they wish to. 

Thanks for the feedback. 

Link to comment
Share on other sites

Thanks @neil9000 lol

@Kiinkyfoxx  If I'm looking at this correctly, the AHK script will automatically change the cursor back to what you had before the LB Startup Screen (and when LB or BB closes). 

Also, you can manually change it back at anytime by pressing  (what ever it takes to get to )   @  (Shift + F2 for us yanks).  But this part [manually change it] doesn't work when in LB?

Is that correct?

 

Link to comment
Share on other sites

59 minutes ago, JoeViking245 said:

Thanks @neil9000 lol

@Kiinkyfoxx  If I'm looking at this correctly, the AHK script will automatically change the cursor back to what you had before the LB Startup Screen (and when LB or BB closes). 

Also, you can manually change it back at anytime by pressing  (what ever it takes to get to )   @  (Shift + F2 for us yanks).  But this part [manually change it] doesn't work when in LB?

Is that correct?

 

It all works inside BigBox and LaunchBox either manually or automatically. 

It just stops the @ key being used for anything else whilst the AHK is running.

If I open notepad and try to type an @ sign I get nothing, if I put ~@ I can type an @ sign in notepad, plus if I use the @ key it will manually change the cursor in LaunchBox but the automatic version doesn't work-Does that make sense? 

Basically I stuff up the use of the @ key for anything else apart from changing the cursor when this is running. 

I could only get the lower section for changing the cursor to run by linking it to a key and then sending that key on close of game or LaunchBox /BigBox. Please feel free to rip it up and redo it if you can see a better way to make it work. 

Thank you for taking the time to look at it. 

Edited by Kiinkyfoxx
Link to comment
Share on other sites

If this issue only occurs when a game is launched you could use my regain focus plugin to launch the script on game exit. 

 

If it occurs without launching a game I nominate @JoeViking245 (haha) to copy my plugin but use the BigBoxIsClosing and LaunchBoxIsClosing event to launch the script on LB/BB closing.

Link to comment
Share on other sites

@jayjay  HEY!!!!  We're learning AHK here. lol  Though I did think about using your plugin [idea] to catch those events, but didn't want to get that involved. ?

@Kiinkyfoxx  In the Bigbox and Launchbox subroutines, instead of "Send, @", use Gosub.  And in the subroutine you're going to ("ChangeItBack"), add a 'Return' at the end.  This will let you continues with the Sleep and goto programe_check when it's done 'changing'.   And then for the @::  hotkey label, add in a catch for a long press.   So to change the cursor manually, hold (long press) the @ (be it {shift}2 or {Shift}').  And to send @, press... well just don't hold it down a long time. :)   (Note: only tested in Notepad with sendkey and msgbox and the sort, so is probably not totally foolproof [unlike Jay's idea ;)] ) 

Bigbox:
	WinWaitClose, LaunchBox Big Box
	Sleep, 3000
	Gosub, ChangeItBack                    ;**************** here
	Sleep, 2000								
	goto, programe_check

Launchbox:
	WinWait, LaunchBox Game Startup, , 30
	if ErrorLevel
	{
		goto, programe_check
	}
	else
	{
		WinWaitClose, LaunchBox Game Startup
		Sleep, 3000
		Gosub, ChangeItBack                     ;**************** here
		Sleep, 2000								
		goto, programe_check
	}

Exit:
	ExitApp

@::                                 ;******************** this stuff
	KeyWait, @, T1
	if (ErrorLevel)
		Goto, ChangeItBack
	Else
		send, @
		Return

ChangeItBack:                                               ;************* here
	RegRead, output, HKEY_CURRENT_USER\Control Panel\Cursors,
	ChangeCursorScheme("%output%")
	ChangeCursorScheme(Scheme){
		KeyNames := ["Arrow", "Help", "AppStarting", "Wait", "Crosshair", "IBeam", "NWPen", "No", "SizeNS", "SizeWE", "SizeNWSE", "SizeNESW", "SizeAll", "UpArrow", "Hand"]
		KEYpath := "HKEY_CURRENT_USER\Control Panel\Cursors"
		
		RegRead, SchemeVals, HKEY_CURRENT_USER\Control Panel\Cursors\Schemes, %Scheme%
		if(!SchemeVals){
			RegRead, SchemeVals, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes, %Scheme%
		}
		SchemeVals := StrSplit(SchemeVals, ",")
		
		if(SchemeVals.Length() > 0){
			RegWrite, Reg_SZ, %KEYpath%, , %Scheme%
		}
		
		for index, val in SchemeVals {
			if(index < KeyNames.Length()){
				RegWrite, Reg_Expand_SZ, %KEYpath%, % KeyNames[index], %val%
			}
		}
		DllCall("SystemParametersInfo", "UInt",0x0057, "UInt","0", "UInt",0, "UInt","0")
	}
	Return                                           ;*********************** and don't forget this

 

Edited by JoeViking245
Link to comment
Share on other sites

@JoeViking245

Thank you very much for changing this and making it to allow the @ key to also function, I will update the versions above with your changes and make sure to credit. Your way the @ key isn't even needed but I think I will leave it in there as a manual backup button in case something goes wrong, and I suppose people who don't have keyboards to hand can set it to a joystick button.

My only "issue" is that you could have at least pretended to take a little longer to figure it out ? In all seriousness though thank you for taking the time and effort to make this better and hopefully it can be of some help to people.

I assumed the JoeWasHere is meant to be ChangeItBack as well?

@jayjay

I appear to be struggling with simple AHK here, let alone anything more complex, but thank you for your input and advice.

Link to comment
Share on other sites

You're welcome!  Ya, I had JoeWasHere as a little 'tribute' to myself and then thought better.  Well, almost.  oops.  So ya, change that. lol  No credit necessary.  Just pay-it-forward.

8 minutes ago, Kiinkyfoxx said:

a manual backup button in case something goes wrong

You mean we didn't need that after all????  lol  Could have been done a lot sooner if I knew I could just take it out. lol  But now we now how to catch a longpress.:D

Link to comment
Share on other sites

On 7/20/2020 at 7:15 PM, JoeViking245 said:

You mean we didn't need that after all????  lol  Could have been done a lot sooner if I knew I could just take it out. lol  But now we now how to catch a longpress.:D

Sorry that was what I meant by this bit in my message, obviously I didn't explain that very well.

On 7/20/2020 at 5:00 PM, Kiinkyfoxx said:

I could only get the lower section for changing the cursor to run by linking it to a key and then sending that key on close of game or LaunchBox /BigBox. Please feel free to rip it up and redo it if you can see a better way to make it work. 

I realise how stupid what I am about to say is, but here goes, I had got stuck in a rut and couldn't think of how to get to the change cursor bit without binding it to a key, but I had used goto already, so should have thought of that or gosub, but that is the advantage of hindsight and reading someone else's work, makes it much clearer. 

Edited by Kiinkyfoxx
Removing old and incorrect ahks
Link to comment
Share on other sites

lol  It's all good!  I'll spend 2 days (which is 2 too many) trying to figure something out. Then break down and ask Jay if he has any thoughts on how to do 'this' and get a response of "I can think of 3.  Give me 5 minutes and I'll send them to you."  

Ruts are OK.  Just put on the mud tires and put in the effort to get yourself out.  Then when your friend shows up, pulls out the wood planks from the bed of your pickup truck and places them in front of your tires... you'll be embarrassed, grateful and all the wiser to help out the 'next guy'.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...