Satellite Reign

Satellite Reign

View Stats:
Using right-hand shift and alt keys?
I like this game so far, but my enjoyment is deeply hampered by the fact that certain functions that require an Alt- or Shift-click (e.g. stealth kills, adding a unit to selection) only work with the left Alt and Shift keys. As I use a mouse left-handed, the right-hand keys are much more accessible to me and it would be far less of a hassle to use them instead.

I realize under Controls I can bind specific commands to whatever I want, but that doesn't seem to include click actions. Is there any way I can fix this? It's really frustrating to be stymied by what seems like such a trivial oversight in development.
Last edited by Kathrite; Jan 2 @ 5:58pm
< >
Showing 1-15 of 32 comments
Caldor Jan 3 @ 12:49pm 
Hmm... those cannot be rebound? I guess a mod could be made to fix this.
Unfortunately, they don't show up anywhere in the Controls menu. If a mod exists or if anyone were to make one, that would be phenomenal. I suppose I could try my hand at it myself if need be, though at the moment I wouldn't know where to start.
Caldor Jan 3 @ 4:09pm 
Originally posted by Kathrite:
Unfortunately, they don't show up anywhere in the Controls menu. If a mod exists or if anyone were to make one, that would be phenomenal. I suppose I could try my hand at it myself if need be, though at the moment I wouldn't know where to start.
It might be pretty simple to make. I think I will give it a try tomorrow.
That would be awesome - thanks so much!
What do you mean? you use right section(from H to L) of keyboard in your keymapping?

Lots of associated keys are hardcoded (written in source code and non-configurable) keys. Only company with source code can do that easily. But nowadays there are no support from company so far. So it is not possible or cost too much time to change all those in mod.

And I did try to directly modify the binary file itself to change hardcoded key to another, it surely works, but also it is a quite heavy job to locate those keys and change them.

Also there are other problems, like for example, the game use like alt+1/2/3/4, not only alt key in the left, but the 1 to 4 keys also in left section of keyboard.

So easiest solution would be you just try use left section of keyboard.

And if you can count about a dozen combined key mapping you needed, I can build a version for you.
Originally posted by Caldor:
Originally posted by Kathrite:
Unfortunately, they don't show up anywhere in the Controls menu. If a mod exists or if anyone were to make one, that would be phenomenal. I suppose I could try my hand at it myself if need be, though at the moment I wouldn't know where to start.
It might be pretty simple to make. I think I will give it a try tomorrow.

Are you sure it is easy? Do you gonna add new keymapping in the mod to call methods in InputControl only? Or you want to modify the IL code in methods directly?
Caldor Jan 3 @ 8:28pm 
Originally posted by Apocalypse:
Originally posted by Caldor:
It might be pretty simple to make. I think I will give it a try tomorrow.

Are you sure it is easy? Do you gonna add new keymapping in the mod to call methods in InputControl only? Or you want to modify the IL code in methods directly?
I am not sure yet. I am hoping to test out adding keybindings in a mod or just maybe try to make it so that both ctrl and both alt keys works the same or one activates the other... which should give the same effect I guess. But the last resort could be to change the games own code. But its a bit messy to go there and I hope its not going to be needed.
Caldor Jan 3 @ 9:21pm 
Well... I guess it has to be the last resort. I hoped maybe I could just make the mod simulate clicking the right alt key if the left one was pressed, but there does not seem to be a simple way of doing that.

I guess I will have to try to edit the source code to fix this. At least it might all be in the same script file.
Originally posted by Caldor:
Well... I guess it has to be the last resort. I hoped maybe I could just make the mod simulate clicking the right alt key if the left one was pressed, but there does not seem to be a simple way of doing that.

I guess I will have to try to edit the source code to fix this. At least it might all be in the same script file.

Same script file? If you mean C# code, it is spread among multiple classes, and mostly in private methods and calling other private methods. I'll prefer directly modifying the binary code(either manually or coding in mod) instead of replicating all system action in mod.

I've tested this game and Shadow Tactics(similar style game and C# with unity) by directly modifying the binary code, so far it works. No extra binary file integrity verification exists. Also normally this way seems VOID the your license to the software.

And one of the key problem is still there, can you image press RightControl with F1 in one hand? All related combined keys have to be fully changed from keys in left section to keys in right section, like change from Ctrl-F1 to Ctrl+F9. Dev mode has the most profound hardcoded keys of left ctrl/alt/shift, I highly recommended bypass that function.
Last edited by Apocalypse; Jan 3 @ 10:08pm
Caldor Jan 3 @ 10:13pm 
Okay... I think this should do it. Its a change made to the source code though, so it is not like you would usually install a mod. I do not have the source code, but it is possible to decompile the compiled code for Satellite Reign, which is pretty much the source code. To some extend its possible to make changes to this code.

http://dionysus.dk/devstuff/downloads/SatelliteReign/SatelliteReignLefthandKeysFix.zip

So this is a zip file with the mod. Its a file called "Assembly-CSharp.dll" which needs to replace the same file that is already in the Satellite Reign game folder.

So the folder you need to find is:
SatelliteReign\SatelliteReignWindows_Data\Managed

To find the Satellite Reign game folder you can right click on the game in the Steam library, select properties, go to the "Local Files" tab and select the top option here. I think its called "browse local files", this will open the Satellite Reign game folder. Then you find the managed folder and extract the file I linked into it, make sure it replaces the "Assembly-CSharp.dll" file. This should make alt, shift and ctrl all work with both the left and right key.

In some cases they already had made both sides work and they also even made some methods to make it simpler, like "ShiftIsDown" "AltIsDown", so I used these to help make it easier to update the methods. I did a short test and it seems to work.
Caldor Jan 3 @ 10:19pm 
Originally posted by Apocalypse:
Originally posted by Caldor:
Well... I guess it has to be the last resort. I hoped maybe I could just make the mod simulate clicking the right alt key if the left one was pressed, but there does not seem to be a simple way of doing that.

I guess I will have to try to edit the source code to fix this. At least it might all be in the same script file.

Same script file? If you mean C# code, it is spread among multiple classes, and mostly in private methods and calling other private methods. I'll prefer directly modifying the binary code(either manually or coding in mod) instead of replicating all system action in mod.

I've tested this game and Shadow Tactics(similar style game and C# with unity) by directly modifying the binary code, so far it works. No extra binary file integrity verification exists. Also normally this way seems VOID the your license to the software.

And one of the key problem is still there, can you image press RightControl with F1 in one hand? All related combined keys have to be fully changed from keys in left section to keys in right section, like change from Ctrl-F1 to Ctrl+F9. Dev mode has the most profound hardcoded keys of left ctrl/alt/shift, I highly recommended bypass that function.
Yeah, I was wondering what to do with this. With the devmode keys, I left them all as is, because, they probably need to be specific. With the selection of agents, I did make it possible with both sides. I think there is some where that is used with F keys and number keys, even though that might not make sense to do this way even with a left handed.

But when it comes to queuing commands, forcing commands, stealth kills and the basic controls like this, I made all this possible with both sides. Its hard to say if there might be some problems caused by this... looking at the code I have to wonder how this worked on MacOS at all. It seems to just casually always refer to the LeftCommand key whether its an ALT or CTRL command... but that is how it was even before I began changing anything.

All of what I changed is inside one script called InputControl.
Originally posted by Caldor:
Okay... I think this should do it. Its a change made to the source code though, so it is not like you would usually install a mod. I do not have the source code, but it is possible to decompile the compiled code for Satellite Reign, which is pretty much the source code. To some extend its possible to make changes to this code.

http://dionysus.dk/devstuff/downloads/SatelliteReign/SatelliteReignLefthandKeysFix.zip

So this is a zip file with the mod. Its a file called "Assembly-CSharp.dll" which needs to replace the same file that is already in the Satellite Reign game folder.

So the folder you need to find is:
SatelliteReign\SatelliteReignWindows_Data\Managed

To find the Satellite Reign game folder you can right click on the game in the Steam library, select properties, go to the "Local Files" tab and select the top option here. I think its called "browse local files", this will open the Satellite Reign game folder. Then you find the managed folder and extract the file I linked into it, make sure it replaces the "Assembly-CSharp.dll" file. This should make alt, shift and ctrl all work with both the left and right key.

In some cases they already had made both sides work and they also even made some methods to make it simpler, like "ShiftIsDown" "AltIsDown", so I used these to help make it easier to update the methods. I did a short test and it seems to work.

Nice job!!! Which tool you use to reverse engineer it and which version of VS you use to build it back? I got problem of building it back.
Caldor Jan 4 @ 12:17am 
Originally posted by Apocalypse:
Originally posted by Caldor:
Okay... I think this should do it. Its a change made to the source code though, so it is not like you would usually install a mod. I do not have the source code, but it is possible to decompile the compiled code for Satellite Reign, which is pretty much the source code. To some extend its possible to make changes to this code.

http://dionysus.dk/devstuff/downloads/SatelliteReign/SatelliteReignLefthandKeysFix.zip

So this is a zip file with the mod. Its a file called "Assembly-CSharp.dll" which needs to replace the same file that is already in the Satellite Reign game folder.

So the folder you need to find is:
SatelliteReign\SatelliteReignWindows_Data\Managed

To find the Satellite Reign game folder you can right click on the game in the Steam library, select properties, go to the "Local Files" tab and select the top option here. I think its called "browse local files", this will open the Satellite Reign game folder. Then you find the managed folder and extract the file I linked into it, make sure it replaces the "Assembly-CSharp.dll" file. This should make alt, shift and ctrl all work with both the left and right key.

In some cases they already had made both sides work and they also even made some methods to make it simpler, like "ShiftIsDown" "AltIsDown", so I used these to help make it easier to update the methods. I did a short test and it seems to work.

Nice job!!! Which tool you use to reverse engineer it and which version of VS you use to build it back? I got problem of building it back.
This time I used dnSpy5. I have decompiled the source to make it easier to search through it, but I cannot compile the full source code. I have found that editting a whole class usually wont work, because the probability of having some part of it that wont compile is usually pretty high. But there is an option to edit a single method at a time. I had to do this with this class as well. 3 errors that could not be fixed, so I had to do it method by method instead.
Last edited by Caldor; Jan 4 @ 12:17am
Originally posted by Caldor:
Originally posted by Apocalypse:

Nice job!!! Which tool you use to reverse engineer it and which version of VS you use to build it back? I got problem of building it back.
This time I used dnSpy5. I have decompiled the source to make it easier to search through it, but I cannot compile the full source code. I have found that editting a whole class usually wont work, because the probability of having some part of it that wont compile is usually pretty high. But there is an option to edit a single method at a time. I had to do this with this class as well. 3 errors that could not be fixed, so I had to do it method by method instead.

Interesting, maybe Unity did something tricky there. Decompiling to different C# language version also sometime helps the building process a bit per my experience. At least it supports code compile and edit in binary file, better than nothing. BTW, which VS version you build your mod? Previously I got problem building mine with latest 2019 and have to fall back to 2013 .
This appears to have worked. My friend, I am in your debt!

I was a little worried when the game seemed to hang on initial loadup, but that may have just been because I had a lot running in the background. The important thing is that it now appears to be running smoothly and responds to the right-hand Shift, Ctrl and Alt keys!

Thanks again so much and let me know if there's anything I can do to return the favor. In the meantime, it's time for me to start playing in earnest!
< >
Showing 1-15 of 32 comments
Per page: 15 30 50