Jump to content
The simFlight Network Forums

Throttle Key/Button Sensitivity


Recommended Posts

Hi, I'll copy the same post I leaved on P3D Froum, in case of someone else had the problem or if anyone have a clue. Thanks.

I use gamepad buttons to control throttle, but the problem also happens if I use the standard F2 & F3 keys.

I have a problem with the throttle sensitivity. After an hour or so, (never less than an hour) the throttle sensitivity reduces to more than a half. So, for example if you start the flight there are let’s say 10 increments from idle to full thrust, after an hour flying you’ll need 25-30 increments from 0 to 100.
It happens with every aircraft (default or not) except with Aerosoft Airbus, which I believe it has a custom throttle code for detents.
I tried default aircraft, PMDG NGXu, QW 787, VRS F-18...

The problem persists with and without any addons, with and without FSUIPC, tried “throttle increase” and “throttle decrease” P3D controls, I did the same through FSUIPC... no luck. I have no idea from where the problem could come from.

Using P3D 4.5 Hf3 (but it also happened with older versions).

The FSUIPC log does not show anything strange or relevant when it happens.

Any advice would be appreciated.

Thanks in advance

Link to comment
Share on other sites

Hi,

what you could do is activate in FSUIPC's Logging tab the Key and Buttons and Events (non axis) . With this you could see if really all key presses (incr/decr) are actually sent after 1 hour when it starts to don't work correct. Just to check what arrives of what the Keyboard maybe 'seems' to send.

Thomas

Link to comment
Share on other sites

31 minutes ago, Thomas Richter said:

Hi,

what you could do is activate in FSUIPC's Logging tab the Key and Buttons and Events (non axis) . With this you could see if really all key presses (incr/decr) are actually sent after 1 hour when it starts to don't work correct. Just to check what arrives of what the Keyboard maybe 'seems' to send.

Thomas

Thanks Thomas. I’ll do it, I’ll take a look if it gives me an idea of what is going on.

Link to comment
Share on other sites

3 hours ago, Joan A said:

I have a problem with the throttle sensitivity. After an hour or so, (never less than an hour) the throttle sensitivity reduces to more than a half. So, for example if you start the flight there are let’s say 10 increments from idle to full thrust, after an hour flying you’ll need 25-30 increments from 0 to 100.

The latter is more reasonable. Large increments are obtained by fast multiple clicking or repeating keys/buttons, which are interpreted as accelerations.  The typical small increment is 512 units for the full joystick range of -16384 to +16383,  so with 32768 units altogether there should be 64 steps altogether.  Not sure how you only get 10, though I suppose acceleration may account for it.

But I've no idea what could cause a change over time. See if the Logging shows anything changing, as Thomas suggests.

Pete

 

Link to comment
Share on other sites

Hi Pete, thanks. I explained myself wrong, just for comparing the proportion. In fact, the usual setting I use is “Throttle Increase” internal P3D with the Repeat slider in the middle, which gives me the typical 512 increments I guess. When the throttle decides to change the increments itself after an hour I can revert to the initial setting by putting the Repeat slider to the right. So, it is like P3D half-sizing the throttle steps after an hour. Really strange, I’ts driving me crazy. 
 

I’ll take a look at the log to see if there’s something that sheds some light on this.

Thanks again

Link to comment
Share on other sites

Ok, so it seems I solved the problem. I'm not sure what the culprit was because before logging the events I removed all asssignments from P3D and send those through FSUIPC. And voila, no problem after more than an hour. Then I saw that in the previous Standard.xml controls file there were double assignments for the same actions between two different controllers with different GUIDS. I always use the same controller, but sometimes P3D reads it as a Logitech model and other times as an Xbox controller. I was aware of that, the change is when I start the controller before starting P3D or starting it once P3D already started. Also, I came across the option of "USB Selective Suspend", which I did not know, and I disabled.

So could the two GUIDS and the double entries (two of them Throttle Inc and Dec) be the culprit here?
Could be that P3D read a different controller when W10 power off the USB (after an hour)? The controller still working but with another GUID, hence the increments change?

Thanks!

Link to comment
Share on other sites

1 hour ago, Joan A said:

So could the two GUIDS and the double entries (two of them Throttle Inc and Dec) be the culprit here?
Could be that P3D read a different controller when W10 power off the USB (after an hour)? The controller still working but with another GUID, hence the increments change?

I've no idea, but I do know that leaving controllers enabled in P3D is asking for trouble if you want to assign in FSUIPC.

If you prefer assigning in P3D then all FSUIPC calibration is doing is assigning whatever P3D reports.

Pete

Link to comment
Share on other sites

Hi, unfortunately the problem is back. No matter what I try the problem persists. One exact hour and the increments are changed for gamepad buttons and keyboard keys.
I tried to make an xml code to set the exact steps whe throttle lever position is inside a range, but as the GENERAL ENGINE THROTTLE POSITION is in percent and the values sent THROTTLE_SET are in 16383 range it's not as easy as I thought. 

So as a last resource, is there a possibility to set a Lua for exact steps when THROTTLE_INC is pressed? One additional problem is that I need the lua code to be made to use it with "flags" through LuaToogle because in my system the standard lua plugins stutter when the action is performed, something which does not happens with flags. Never mind, I came across a Lua plugin I use for Aerosoft rudder which works perfectly for that purpose. Then, I thought it could be modified to do the same but with throttle set steps.

Here is the rudder lua code which works ok:

Quote

 

-- USER ADJUSTMENT, AMOUNT TO MOVE RUDDER
local rudderStep = 2600 --2048--
-- END USER ADJUSTMENT

local rudderPos = 0

function centerRudder(flag)
    ipc.writeSW(0x0BBA, 0)
end

function moveRudder(flag)
    rudderPos = ipc.readSW(0x0BBA)
    -- RUDDER LEFT
    if flag == 2 then
        rudderPos =  rudderPos - rudderStep
        rudderPos = math.max(rudderPos, -16383)   
    -- RUDDER RIGHT
    else
        rudderPos =  rudderPos + rudderStep
        rudderPos = math.min(rudderPos, 16383)
    end
    ipc.writeSW(0x0BBA, rudderPos)
end

event.flag(1, "centerRudder") -- CENTER
event.flag(2, "moveRudder") -- MOVE LEFT
event.flag(3, "moveRudder") -- MOVE RIGHT

 

 

And here is the modified one which I tried with no luck. I used the Engine 1 offset to try, but the main idea is to couple both engines with the same flag.

Quote

 

-- USER ADJUSTMENT, AMOUNT TO MOVE Throttle
local ThrottleStep = 400
-- END USER ADJUSTMENT

local ThrottlePos = 0

function ThrottleCUT(flag)
    ipc.writeSW(0x088C, 0)
end

function moveThrottle(flag)
    ThrottlePos = ipc.readSW(0x088C)
    -- ThrottleDEC
    if flag == 2 then
        ThrottlePos =  ThrottlePos - ThrottleStep
        ThrottlePos = math.max(ThrottlePos, -4096)   
    -- ThrottleINC
    else
        ThrottlePos =  ThrottlePos + ThrottleStep
        ThrottlePos = math.min(ThrottlePos, 16383)
    end
    ipc.writeSW(0x088C, ThrottlePos)
end

event.flag(1, "ThrottleCUT") -- CUT
event.flag(2, "ThrottleDEC") -- THR INC
event.flag(3, "ThrottleINC") -- THR DEC

 

 

Any help wold be appreciated!

Link to comment
Share on other sites

Ok, revised code. Still no luck

Quote

-- USER ADJUSTMENT, AMOUNT TO MOVE Throttle
local ThrottleStep = 400
-- END USER ADJUSTMENT

local ThrottlePos = 0

function ThrottleCUT(flag)
        ipc.writeSW(0x088C, 0)
end

function moveThrottle(flag)
        ThrottlePos = ipc.readSW(0x088C)
        -- ThrottleDEC
        if flag == 2 then
            ThrottlePos =  ThrottlePos - ThrottleStep
                ThrottlePos = math.max(ThrottlePos, -4096)   
        -- ThrottleINC
        else
               ThrottlePos =  ThrottlePos + ThrottleStep
               ThrottlePos = math.min(ThrottlePos, 16383)
        end
        ipc.writeSW(0x088C, ThrottlePos)
end

event.flag(1, "ThrottleCUT") -- CUT
event.flag(2, "moveThrottle") -- THR INC
event.flag(3, "moveThrottle") -- THR DEC

 

Link to comment
Share on other sites

Ok, got it working finally! I really hope i do not get ever again the increments problem.

Quote

-- USER ADJUSTMENT, AMOUNT TO MOVE Throttle
local ThrottleStep = 400
-- END USER ADJUSTMENT

local ThrottlePos = 0

function ThrottleCUT(flag)
        ipc.writeSW(0x088C, 0)
        ipc.writeSW(0x0924, 0)
end

function moveThrottle(flag)
        ThrottlePos = ipc.readSW(0x088C)
        -- ThrottleDEC
        if flag == 2 then
            ThrottlePos =  ThrottlePos - ThrottleStep
                ThrottlePos = math.max(ThrottlePos, -4096)   
        -- ThrottleINC
        else
               ThrottlePos =  ThrottlePos + ThrottleStep
               ThrottlePos = math.min(ThrottlePos, 16383)
        end
        ipc.writeSW(0x088C, ThrottlePos)
        ipc.writeSW(0x0924, ThrottlePos)
end

event.flag(1, "ThrottleCUT") -- CUT
event.flag(2, "moveThrottle") -- THR INC
event.flag(3, "moveThrottle") -- THR DEC

 

Link to comment
Share on other sites

1 hour ago, Joan A said:

No matter what I try the problem persists. One exact hour and the increments are changed for gamepad buttons and keyboard keys.

What on Earth can change increments? There is an acceleration applied if INC controls are sent close together (that's a system which has been in FS since Bruce Artwick's days, before Microsoft), but I don't suppose you are doing something different after 1 hour. Nothing changing after an "exact hour"?  Seems very spooky!

1 hour ago, Joan A said:

Ok, got it working finally! I really hope i do not get ever again the increments problem.

Well, I can't see that being guaranteed since we don't know what is in your system which could be lying in wait for one exact hour then changing things. 😉

Pete

 

Link to comment
Share on other sites

7 minutes ago, Pete Dowson said:

What on Earth can change increments? There is an acceleration applied if INC controls are sent close together (that's a system which has been in FS since Bruce Artwick's days, before Microsoft), but I don't suppose you are doing something different after 1 hour. Nothing changing after an "exact hour"?  Seems very spooky!

Nothing, in fact, the last tests I opened P3D with no controller and tested standard F3,F2 and F1 to be recorded in the log and waited for one exact hour and voila the increments changed. Tested then the same keys which gave me the same entries that the first ones. Tried the same test with default "standard.xml" and "standard.xmlx", the same files with "read only", my own modified files with "read only", tried the three options INCREASE_THROTTLE, THROTTLE_INCR and THROTTLE_INCR_SMALL and the result is always the same.

Very strange, really, I never had this problem with FSX, P3D V3... and across the internet I found only two posts from years ago. So I believe it's something difficult to be tracked.

2013 https://www.flightsim.com/vbfs/showthread.php?279421-Throttle-unresponsive

2016 https://www.prepar3d.com/forum/viewtopic.php?t=119494

18 minutes ago, Pete Dowson said:

Well, I can't see that being guaranteed since we don't know what is in your system which could be lying in wait for one exact hour then changing things. 😉

I know, but I hope that instead of sending the THROTTLE INCR directly which even with the keyboard sends different steps, (I guess that smaller or higher depending on the time being pressed), sending an exact number of steps could bypass the culprit. I don't know, I'll try later a flight EBCI-LGAV with the NGXu and see if when on final approach I found the solution and get the throttles working as expected.

Thanks!

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.
Note: Your post will require moderator approval before it will be visible.

Guest
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.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.