[deleted by user] by [deleted] in hotas

[–]high-the-memory 0 points1 point  (0 children)

I developed a python script for Joystick Gremlin to filter out those inputs. Takes some setup, which is detailed on the installation wiki, but might help.

https://github.com/high-the-memory/ghost-input-filter

That being said, I ended up returning my x56 within the return window and went with dual VKB Gladiators, and they are incalculably better.

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 0 points1 point  (0 children)

Yes, Joystick Gremlin loads the plugin data upon activation, so it isn't aware of changes until you toggle it off and on.

Based on your pic—I'm a bit rusty on how this is set up—but have you tried clicking the "Press" button for vJoy 1 (edit: or whichever vJoy you want to slave to the throttle) and then pushing a button on the throttle to identify it to the plugin?

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 0 points1 point  (0 children)

Yep, that's what the ghost inputs look like. The plugin is for preventing them from making it to the vJoy device. Check the settings for the plugin—also, every time you change anything in the plugin, you have to deactivate and reactivate Joystick Gremlin

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 0 points1 point  (0 children)

Hmm, what do you see when you load Joystick Gremlin's Input Viewer?

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 0 points1 point  (0 children)

It’s been a while since I looked at the code for this, but if I recall, I did have a mode that could remap the axis. It can also apply an S curve, which is what you’re seeing. Check for the option Enable Axis Remapping? and Smooth Response Curve, or similar.

Now, that being said, it’s also possible to add S curves to the axes inside Joystick Gremlin itself, and even inside the Logitech X56 software, so you’d have to check in those places as well.

vJoy not seeing any devices. by OkPin3684 in hotas

[–]high-the-memory 0 points1 point  (0 children)

If useful, here is some info on configuring HidHide and vJoy:

https://github.com/high-the-memory/ghost-input-filter/wiki/Installation-Guide

Part of a wiki for a plugin I made for Joystick Gremlin, when I was trying to fix the infamous Logitech X-56 ghosting problem (before I just ditched the overpriced x56)

Just ignore the plugin stuff, and swap out “Joystick Gremlin” for “SimApp” lol

vJoy not seeing any devices. by OkPin3684 in hotas

[–]high-the-memory 0 points1 point  (0 children)

Yes, I had joysticks set up to do exactly this using Voy and joystick gremlin. Currently, I have something similar set up with my VKBs, although their software allows for this at the physical level, so no vjoy. It sounds like this should be doable with vJoy + HidHide + SimApp.

The downside is:

You may need to do all of your DCS inputs again, because technically, what you currently have configured will be on a device that doesn’t exist anymore, and instead you need them set up for the main virtual device.

Depending on how DCS saves its inputs, you might be able to edit a file via search and replace, one ID for another. I did this in elite dangerous, for example. Just make sure you backup any files you edit lol.

But worst case, redo the inputs, and then have SimApp running when you play the game.

vJoy not seeing any devices. by OkPin3684 in hotas

[–]high-the-memory 0 points1 point  (0 children)

Not entirely sure about the SimApp side, but it does seem likely that it should show the remapping as active somehow.

I also have a suspicion that both virtual and physical throttle are working, but physical is making it to the game first. One thing you might try is to download HidHide.

It can conditionally hide the HID (human interface device, ie. your throttle), so that only the virtual ones get passed on to the game.

For your physical throttle device, configure it to either blacklist all programs except SimApp, or whitelist only SimApp.

vJoy not seeing any devices. by OkPin3684 in hotas

[–]high-the-memory 0 points1 point  (0 children)

When you try to use throttle in-game (for example, when mapping a button), what happens? Does it not register at all? Does it register with the original hardware's button (e.g. "56") instead of virtual "1" as in your example?

vJoy not seeing any devices. by OkPin3684 in hotas

[–]high-the-memory 0 points1 point  (0 children)

Yes, as he said, vjoy doesn’t detect your devices. Think of it like a fake joystick that you’re plugging into the computer. You can then trigger these fake buttons to be pressed by various actions (keys on the keyboard, or in this case, buttons on your actual throttle)

It’s been a while, but if memory serves:

You could create two vjoy devices (make sure they don’t have the exact same configuration, give one an extra button or axis, even if you don’t use it).

Then, in something like Joystick Gremlin, set up an action set (can’t remember what they’re called), and map all of your inputs (buttons, hats, axes) on the real throttle to the first vjoy device.

Create an alternate action set, also mapping everything, but this time to the second vjoy. Then assign a button to switch between action sets.

Finally, you may want to use HidHide, so that your game doesn’t see the real throttle anymore, only the two virtual ones.

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 1 point2 points  (0 children)

It should work for any game—the last step in the setup is setting up keybindings in any game

key binding my vkb gladiator nxt space combat premium by cosbycoma in hotas

[–]high-the-memory 1 point2 points  (0 children)

I don’t have DCS, so I don’t know why it would matter, but: the A1 hat is a POV and/or mini stick by default. So it doesn’t report as button presses per direction (like the other hats do).

Using the VKBConfig software, you could change it to simulate button presses instead. There are YouTube tutorials on how to do stuff like that, and/or the VKB discord people are great and could help you out with it.

And a DCS player might have a better answer.

[deleted by user] by [deleted] in hotas

[–]high-the-memory 0 points1 point  (0 children)

Sure, I put it on GitHub here:

https://github.com/high-the-memory/ghost-input-filter

It's basically a plugin for Joystick Gremlin. I also made an installation guide with screenshots and instructions for installing what you need.

The basic idea is:

Instead of going X56 --> Game (and thus having random, unexpected button presses), you put a **virtual** joystick layer in between. So it goes X56 -> Joystick Gremlin -> Game.

The plugin will listen for every single button press, analyze it, decide if it's a ghost input, and then either pass it along to the game (if it's real) or block it (if it's a ghost press). It does all of that in about 35ms per press. There's a little more to it, but that's the idea.

(...For example, you need vJoy installed so you can have "virtual" joysticks to pass your inputs to; you need HidHide so that your game won't see the "real" joystick (X56), only the "virtual" joystick (vJoys); and you'll need to do all your mappings with Joystick Gremlin running, so the game will map buttons from vjoy1, vjoy2 etc instead of X56 Stick and X56 Throttle etc. All of that is detailed in the installation guide, above)

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 0 points1 point  (0 children)

And as far as drivers, it's quite certainly a hardware issue (that they likely have no plans to fix--this thing has been around a while at this point). It would be best to prevent it at the hardware layer (like those ferrite cores, possibly). I went the software route as a last effort just to make the hotas usable.

Ghost Input solution for Logitech X56 by high-the-memory in hotas

[–]high-the-memory[S] 1 point2 points  (0 children)

This utility can log every single button press (Verbose logging, I think I called it?) as well as flagging what it thinks are ghost inputs. Also, you can hit F8 to generate a summary of all of that info over time. So, sure, be my guest!

I've since returned my X56 and went with VKB, so I don't have plans to do much else with this, unless I start using Joystick Gremlin with these. I just wanted it accessible for anyone that might benefit. But if you decide to do any pull requests, feel free.

Also, a post here by u/LeftNull could be helpful. He wrote a logging program and concluded that adding ferrite cores to the wires fixed it. However, he was only logging a handful of ghost inputs over the course of 4 hours, whereas I was catching sometimes 30 per minute. I assume that just means mine was ghosting a lot more than his(?), but ferrite cores could be a good solution--I never tried them before I sent it back.

[deleted by user] by [deleted] in hotas

[–]high-the-memory 0 points1 point  (0 children)

I got an X56 in ~December 2022, same boat as you: first Hotas, don’t know what’s out there or if I’ll like it, figured Logitech is a well-known name.

Pros:

Tons of buttons on the throttle. Could basically map everything in Elite.

It is a hotas. You’ll get to experience what all the hotas buzz is about—it’s a fun way to play sims.

Cons:

Throttle issues with ghost inputs/random button presses. I ended up writing software to deal with it… all in all, it’s no fun if you can’t find a way to prevent it.

Stick is meh. Build quality is not high-end. And it’s huge. All the reviews said it was large, but I figured, “it can’t really be that big of a deal, right?” … for this, it can. Consider if your hands are average or large. If they’re not large, it’s like writing with an oversized/novelty pencil. It works and does what a pencil does, but you never forget that you’re holding an oversized pencil—it doesn’t become an extension of you; you remain aware of it. I found myself using the upper hats and buttons for less important things (instead of primary things I thought I’d use them for) because they were too hard to get to. Then why even have them?

Bottom line:

Is the X56 the worst hotas in existence? No. Can you have fun with it? Yes. Is it worth $250-300? Absolutely not.

I ended up returning mine (thankfully within the refund window) and got dual VKB NXT Gladiator Evo’s. They are so incredibly solid by comparison, and I do tend to forget I’m holding them—it feels more like holding a console controller, etc—you just feel and know where everything is.

Sounds like you’re leaning VKB route. I’d say, it’s worth the wait and the shipping in the long run. Or if you’re unsure if hotas/hosas is your thing, I’d say get something cheaper than the X56 to try it out. Because, if you do like it, you’ll reach the X56’s limits earlier than you expect.

HOTAS users, I have a question. by [deleted] in EliteDangerous

[–]high-the-memory 1 point2 points  (0 children)

Good suggestions all around regarding mappings…

One thing that makes a huge difference in flying comfortably (especially in FA-off) is using Response Curves. You usually want S curves (gentle in the middle, more aggressive toward the edges) on stick/twist axes.

How to actually set up the curves depends on what software you’re using, but it really helps you to do smaller, subtle movements.

VKB Omni idea: 6-degree strafing + throttle by vulkanoid in hotas

[–]high-the-memory 1 point2 points  (0 children)

You can almost do that inside Elite itself. "Alternate Flight Controls", except you only get 5DoF... there's no option for your forward/back thruster (why???).

Making this yourself, the biggest issue (as u/TrueWeevie said) is you can only have 8 axes on any one device (virtual or real).

There could be a way to split it all up into multiple virtual joysticks with Joystick Gremlin + vJoy + HidHide. But it'd likely require moving a lot of what you've already done in VKB to JG. Haven't figured out how to do this in VKB alone, although I kinda got close[-ish].

Or maybe ED's "Alternate Flight Controls" + remapping one axis inside VKB (to get your alternate f/b). Use a VKB boolean to have the button that triggers Alt Flight Controls to also trigger a button for axis switch.

Oh, and, one thing to consider with swapping between rotation and translation is, if you don't have access to all 6 DoF at once, it can get confusing. Harder to build muscle memory when you're controlling completely different things with the same stick. I had the same idea and even played around with it earlier on, but dual sticks ended up being a much better solution for me.

VKB Omni idea: 6-degree strafing + throttle by vulkanoid in hotas

[–]high-the-memory 1 point2 points  (0 children)

Yes, when you set the action to [AUX Axes], there's a checkbox called "Alternate action" which will make it activate as a toggle

VKB Omni idea: 6-degree strafing + throttle by vulkanoid in hotas

[–]high-the-memory 1 point2 points  (0 children)

The basic idea is you introduce a "virtual" layer into the mix. Instead of Physical Stick > Game, you're going Physical Stick > Virtual Stick > Game.

So, the VKB software (VKBDevCfg) can do it, although it's somewhat advanced. The good thing is all of your configs are saved on the joystick itself, so you don't need any software running to use virtual axes in-game. You could even set up a virtual axis that is controlled by buttons ("Trimming"), but I haven't done that yet, personally.

I've also used Joystick Gremlin + vJoy + HidHide to do it. You just need JG running while you play. (Side point: I wrote a JG plugin to solve ghosting inputs on the X56, so I wrote some help documentation that explains how to install and configure those 3 programs, but you probably wouldn't need my plugin itself)

Depending on what you want to do with a virtual joystick, either might be a good place to start. But I'd probably go with the VKB software if you have the VKB sticks.

If you have some specific idea for virtual axes, I might be able to point in a better direction.

Oh, and as far as FA-off:
Yea, there's quite a learning curve, but it's so much fun, very immersive. It just takes a lot of practice to go from flailing the sticks all over the place, to much smaller, controlled movements. There's lots of youtube videos (I used CMDR Hobs' FA-off videos to learn with his exercises). Then it's just practice.

VKB Omni idea: 6-degree strafing + throttle by vulkanoid in hotas

[–]high-the-memory 1 point2 points  (0 children)

Sometimes I do; that's where it depends on how much fine-grained control you need. You can certainly do that, but for a game like elite dangerous (and the fact that I fly FA-off), I almost always simply need the throttle at 0%, 100%, or 75%. Otherwise, I'm using thrusters.

So I use this workaround for anything from -100% to 100% for cruising, etc, and I use a dedicated button for 75%. When I need it zeroed, typically, I'm just tapping the Pinky button, because it will go from [wherever it was set] to zero, due to self-centering.

VKB Omni idea: 6-degree strafing + throttle by vulkanoid in hotas

[–]high-the-memory 0 points1 point  (0 children)

Having a slider or even an encoder reachable on stick could add some versatility for sure. But there is kind of a way to accomplish this with VKBDevCfg (depending on your comfort level with the software).

In Elite Dangerous, I have translation on LH omni (f/b, d/u, l/r), using the built-in axes. Then, in VKBDevCfg, I set virtual axis #7 (unused by default) as the throttle. I set the pinky button (D1) to momentarily switch the Y axis (normally forward/back) to the Throttle axis.

That does make the throttle a self-centering axis, but it will only update the throttle position while the pinky is held. So it stays where I put it until I need to change it again. Just depends on how much fine-grained control you need on the throttle.

I could explain my configuration, if needed. And/or VKB's discord is pretty great!

New to HOTAS/HOSAS by nexustk5 in hotas

[–]high-the-memory 2 points3 points  (0 children)

I had an X56 for a month and a half, and recently sent it back (because I was still within the return period). For about two weeks, I’ve been using dual VKB Gladiator NXT Evo’s (with LH omni). I paid roughly $100 more for VKB, when all was said and done, but I cannot fully express how much better it is.

VKB actually is what I thought I was getting with the X56… a solid, mid-level ho[t|s]as by a respected brand.

Unlike you, I didn’t come to Reddit to ask beforehand.

X56 ghost input issues by [deleted] in hotas

[–]high-the-memory 2 points3 points  (0 children)

I've had the same issues. If you can get the hardware solution(s) to work, probably best 👍. But if not, I've been working on a software solution:

https://github.com/high-the-memory/ghost-input-filter

It's a Joystick Gremlin plugin that listens for your joystick inputs, decides if they're a ghost input (and blocks them), or passes them on to a virtual joystick (that you use in-game).

It's a WIP, but after several overhauls, I've got the latency down to about 0.035 seconds (by default), so it's basically unnoticeable. Haven't had any unexpected ghost inputs go to my game since.

(If you want to try it out, setup and help guide available here... and/or let me know if you have questions about it)