Can we have a button to enable/disable mouse relative movement?

Hi! I'm actually enjoying play with keyboard, and by a while I discovered that a mouse/trackball give remarkable options to maneuvering. However, I really feel the lack of a toggle to switch on/off the mouse relativity. Sometime, it's better to have it enabled - long arcs and parabolas in super-cruise, funny pseudo-FAO-maneuvers, etc... - but, other times, is really a pain (docking?). So, there's the mouse reset switch, with it center it, but this is not the same. Have a switch that works like the Flight Assist witch will definitely give awesome results.

Thanks,
CMDR Spadino
 
One thing I tried for some cases, was using the mouse sensitivity adjustment button that's on my mouse. Obviously not sure if yours has one, but if it does, you may want to use that to decrease/increase sensitivity of the mouse in various situations. Regards!
 
Indeed, I'm pretty sure there are many users which will benefit from this. It's quite simple... there are other bindings which could be useful, too, as turret's behavior. Which is the best way to claim for this, in your opinion? Is here, in the forum? Maybe a poll? Or is better to directly contact Frontier support?
 
If it was directly linked to FA=OFF for Y-Axis to become relative then I'd like this very much. My X-Axis is Roll/centre over time and is fine.
 
Indeed, I'm pretty sure there are many users which will benefit from this. It's quite simple... there are other bindings which could be useful, too, as turret's behavior. Which is the best way to claim for this, in your opinion? Is here, in the forum? Maybe a poll? Or is better to directly contact Frontier support?

I've put in a few suggestions on the suggestion forums to this effect and even a couple on the dangerous discussions forums as well.

If they haven't seen it then the only other recourse would possibly to submit a bug report or something ?!?!? I haven't tried to directly contact and of the devs for this so that might be an option but i suspect they aren't easy to get time with.

For me I'd like a couple of option added to mouse control.

Link both axis for relative mouse control. Tick box. I can't see the need to have the axis separately but that is just me and other do use it differently.
Link relative mouse control to FA toggle - tick box. If ticked then relative mouse control toggles anytime FA is off.
Disable relative mouse control while in SC. - tick box. Even if FA is off this would allow you to disable it in SC.
Key bind for relative mouse control.
 
Last edited:
One thing I tried for some cases, was using the mouse sensitivity adjustment button that's on my mouse. Obviously not sure if yours has one, but if it does, you may want to use that to decrease/increase sensitivity of the mouse in various situations. Regards!

Well, my mouse (actually, a trackball) do not has such sensitivity switch. But I think that, even if it has one, would not be enough...
 
I know there are ways to simulate the effect with Autohotkey and/or Logitech Gaming software. You have to make a script that hits the FA key, cranks up the mouse DPI 4x and then rapidly spams the center mouse key every 50ms. Would be nice if they just gave us separate FAon and FAoff mouse settings instead.

Normally mouse users don't have the option to play either mode at whim - typically being locked to only use FAoff for boost turns. That or they play with FA off continuously and have to do something silly like bind arrow keys to pitch and yaw just to navigate supercruise.
 
I've played around with various mouse settings to get around the relative toggle required etc. Spent more time than I would like to admit in doing so.
Even played around with my 'sniper mode' buttons that reduce sensitivity etc and nothing works anywhere near as well as relative control.

This leaves us KBAM users in a quandary as we pretty much have to pick either fly full FA-off or full FA-on as the two control methods vary quite largely with FA effects.
 
I am mainly a duel joystick user, but recently I've been experimenting with mouse (right hand) + joystick (left hand). As a joystick user I switch between flight assist off and on all the time. When using mouse you can't do this efficiently, because this relative mouse issue! That really sucks, and should be fixed ASAP!

I have been experimenting with a script in TARGET that clicks a joystick button every 500ms when in fa off (in order to center the mouse in game). This works farily well in order to toggle fa on and off, but it is not optimal.
 
Definitely, the mouse relative SHOULD be able to be toggled on/off, like FA. Also, it SHOULD have an option to act as a toggle or as a hold button, again like FA.

Analyzing your thoughts, I propose the following claims to be presented to the Devs, in priority orders:

1) RT (Relative Mouse) on/off switch binding, which act as TOGGLE/HOLD on user preference.
2) Link relative mouse control to FA toggle - tick box. If ticked then relative mouse control toggles anytime FA is off.
3) User defined link/unlink of relative axis.


Any one would like to improve this?

- - - Updated - - -

...
I have been experimenting with a script in TARGET that clicks a joystick button every 500ms when in fa off (in order to center the mouse in game). This works farily well in order to toggle fa on and off, but it is not optimal.

Well, it's actually interesting! Could you share this script and how do you implemented this? Even if we succeed in claim our RT toggle, could server as an example for others tasks.
 
Last edited:
Well, it's actually interesting! Could you share this script and how do you implemented this? Even if we succeed in claim our RT toggle, could server as an example for others tasks.

Yes I can! But also, considering the script is run in TARGET, everyone might not be able to run it. Those people might want to try out this: https://www.reddit.com/r/EliteDange...autohotkey_enable_relative_mouse_in_fao_mode/.

I don't want to use autohotkey because then it will spam a button on the keyboard. For me this is inconvenient. You could maybe write something that uses VJOY in order to avoid this. My script looks like this:

include "target.tmh"

//Define variables
int REXEC_run = 0;
int TS2_pressed = 0;

int main()
{
if(Init(&EventHandle)) return 1;

// Set TS2_pressed flag in order to notify REXEC loop to release TS2 button if necessary.
// Toggles REXEC_run flag in order to turn off/on REXEC loop.
// Presses DX24 button down. This is done for activating fa off/on.
MapKey(&T16000L, TS2,
EXEC(
"TS2_pressed = 1;"
"if (REXEC_run){REXEC_run=0;} else{REXEC_run=1;}"
"ActKey(KEYON+DOWN+DX24);"
)
);

// DX24 button is released if TS2_pressed flag is set.
// When TS2 button is released, start clicking DX30 button every 125 ms.
// DX30 stops clicking once the REXEC_run flag is set.
MapKeyR(&T16000L, TS2,
REXEC(0, 125,(
"if (TS2_pressed) {ActKey(KEYON+UP+DX24); TS2_pressed=0;}"
"if (REXEC_run) {ActKey(KEYON+DOWN+DX30); DeferCall(1, &ActKey, KEYON+UP+DX30); } else {StopAutoRepeat(0);}"
),RNOSTOP));

// A second button is used for resetting the script. By pressing TS4, the REXEC_flag is set to zero.
// DX31 is pressed.
MapKey(&T16000L, TS4, EXEC(
"REXEC_run=0;"
"ActKey(KEYON+DOWN+DX31);"
));

// DX31 is released.
MapKeyR(&T16000L, TS4, EXEC(
"ActKey(KEYON+UP+DX31);"
));
}
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}

* When the TS2 button on my t16000m is pressed, the DX24 button is pressed. Pressing DX24 the first time is used for activating FA OFF. When the TS2 button is released, DX30 will start clicking every 125 ms. Thus you will have something similar as relative mouse in the game.

* By pressing the TS2 button a second time you will activate FA ON. "relative mouse" effect will also be deactivated.

* The TS4 button is used if something has gone wrong (for example the "relative mouse" effect might become actiavted when you're using FA ON). Clicking this button will reset the script.

It is also important to note that you need to turn off relative mouse in the game for this to work. Also, in order for the mouse to be reset to center, you will need to bind DX30 (which was used in this script) to reset mouse in the game.

A further improvement to this might be to reset the mouse coordinates to center instead of spamming the joystick button to do it. I have succeeded in doing this, but this does not register in the game for some reason.

I am sorry if this seems a bit messy. I suck at explaining things! :D
 
Last edited:
I am sorry if this seems a bit messy. I suck at explaining things! :D

Do not be so shy... this is way worst than a mess! \o/

Just kidding, of course; many thanks for share this! Not sure I can get it working without entering an astrophysics class, but it's definitely a great options till we have (I'll better not to count on that...) a proper RT. Kudos!

---

Actually, I followed your link to the Autohotkey script and, although not perfect, it's a workaround for very delicate tasks (docking...). I modified it a bit to be used as a solely RT - not linked to FA - so I can fly freely and activate it just when I need more precision. I'm getting addicted... however, is not like having a smooth auto-centering toggle, more delicate. Let's hope for the Devs to be kind with us!
 
Last edited:
The trick is to crank up the DPI when the center mouse key is spammed. Makes it far less jerky. For autohotkey:

#MaxThreadsperHotkey 2

; Replace FAKey and MouseCenterKey with your bindings (ex: n, g, F9). Must have ~ in front.
; You can also define an extra reset key in case it gets stuck on while FA is also on: ResetKey
; Alternatively, you can make this script run on a key that is different than what is bound to FA and erase the reset function.

toggle = 0
beakLoop = 0
SPI_GETMOUSESPEED = 0x70
SPI_SETMOUSESPEED = 0x71
maxDPI = 20
defaultDPI = 10

~FAKey::
toggle := !toggle
DllCall("SystemParametersInfo", UInt, SPI_SETMOUSESPEED, UInt, 0, UInt, maxDPI, UInt, 0)
loop
{
if toggle
{
sleep 125
send MouseCenterKey
if breakLoop = 1
{
breakLoop = 0
toggle = 0
break
}
}
else
{
DllCall("SystemParametersInfo", UInt, 0x71, UInt, 0, UInt, defaultDPI, UInt, 0)
break
}
}
return

~ResetKey::
{
breakLoop = 1
DllCall("SystemParametersInfo", UInt, SPI_SETMOUSESPEED, UInt, 0, UInt, defaultDPI, UInt, 0)
}
return

For Logitech scripting, you can make macros with specific names and call them to run as separate threads. I made one called "Mouse Center" that simply repeats the mouse centering key every 125 ms. The others come predefined in the list. Here I bound the function to the G7 key on the mouse, that's the arg reference to 7:

local Fa = off

function OnEvent(event, arg)
OutputLogMessage("event = %s, arg = %s\n", event, arg)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 7) then
PressAndReleaseKey("M")
Fa = not Fa
if (Fa == true) then
PlayMacro("DPI Up")
PlayMacro("Mouse Center")
else
AbortMacro()
PlayMacro("Default DPI")
end
end
end
 
Last edited:
The trick is to crank up the DPI when the center mouse key is spammed. Makes it far less jerky. For autohotkey:
GENIUS!
It's a lot better with the mouse sensitivity changes implemented. I use Autohotkey - as my mouse is one by ELECOM, I think I would not have how to use Logitech scripts, although if they works with my G13, I'll be glade to know...) - and it works very well.
I'm considering now implementing a visual/audio notification (maybe I found something in my aura voicepack that suits...) but an overlay visual notification will be stunning too. I'll check and if I find something, I'll post it.

KUDOS!
 
Last edited:
The trick is to crank up the DPI when the center mouse key is spammed. Makes it far less jerky. For autohotkey:

I've just plugged this in as well and it's very nice. I too have set the 'relative control' to a separate button than FA. Mainly so I can toggle it during SC or when I am alt tabbed to the forums etc :)

Nice work!
 
The trick is to crank up the DPI when the center mouse key is spammed. Makes it far less jerky. For autohotkey:

For Logitech scripting, you can make macros with specific names and call them to run as separate threads. I made one called "Mouse Center" that simply repeats the mouse centering key every 125 ms. The others come predefined in the list. Here I bound the function to the G7 key on the mouse, that's the arg reference to 7:

I modified my script to spamming the button every 125 ms instead of 500 ms. Works better. Not sure how I can alter the DPI in the TARGET script though. =) I did try the autohotkey script, and it worked pretty well. Thank you for sharing =)
 
Back
Top Bottom