joepoway

Xbox One Controller Question?

Recommended Posts

I recently added a USB wired PDP Xbox One controller to my setup mainly for ChasePlane view assignment and manipulation which works great. I then decided to use some of the extra buttons for assignment in LINDA with P3D but have an issue. Linda recognizes the Xbox One controller and it is enabled. All the automatically assigned P3D axis ect. have been deleted. When I press any Xbox button the LINDA Joystick screen switches to thedevice and appropriate button number for that controller as with all my other controllers which I use extensively with LINDA. I then assign something to it and save it but P3D does not respond to the input even though the LINDA Joystick window registers the input of the button. Ironically I have assigned an Aerosoft A320 custom input (Captain Tray table Toggle) and when I press the button with the LINDA Joystick window open the aircraft responds but if I minimize LINDA no response. Strangely if I assign something like a Shift + 2 key command it will not work whether LINDA window is open or minimized. What am I mising regarding the use of my Xbox One controller with LINDA? Also I have closed ChasePlane to see if it had something to do with it and that makes no differenece.

Any help would be appreciated

Joe

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi Joe

Thank you for the query. LINDA will respond to any device that behaves like a standard HID or joystick. After assigning and saving a function to a button it is necessary to click Reload LUE Engine to register that change. Otherwise, it won't work. If you are assigning a key press then LINDA must retain focus and should not be minimised. Only by using a function from those available or writing one in user.lua will you retain the independent operation.

Share this post


Link to post
Share on other sites

Thanks for the response however I am familiar with what you stated. The new Xbox One I added behaves like a standard HID device and works well with ChasePlane assignments, is seen by LINDA to program and is seen by  the standard Windows game tester. I have been programming several other devices successfully with LINDA. I have tried reloading the LUA engine, restarting LINDA, restarting P3D and rebooting the system and no matter what this device I can program and assignment either a drop down choice or a key assignment but they will not do what they are programmed to do in P3D. I have even shutdown ChasePlane thinking it was interfering with LINDA even though that is not the issue with my VKB and Virpil controllers but it also made no difference.

This issue has me stumped

Joe

Share this post


Link to post
Share on other sites

Hi Joe

My apologises. Most users need to be spoon fed so I tend to start with the obvious.

I briefly tried using ChasePlane but found it buggered up my setup. It could well be the case that the incompatibility is with LINDA. I am not sure what else to suggest that you have not already tried.

Share this post


Link to post
Share on other sites

Thanks Scott

First I love your program!

Too be clear I use ChasePlane and have assigned a variety of buttons on all my hardware (VKB stick, Virpil throttle and Xbox One controller) to ChasePlane preference keys for view manipulations and they work fine. I also assign all my buttons and switches using LINDA for my VKB stick and Virpil throttle and it works perfectly whether I have any ChasePlane buttons assignments or not. The only thing I cannot do is get LINDA assignments on the Xbox Controller to work. As I said ironically LINDA sees it and identifies all its axis and buttons and when I press a button LINDA jumps to the correct device and button and also lets me assign whatever I want just like my other devices. The only difference is P3D does not respond to any of the assigned commands no matter what I do. The only time it responds is if I select an action from a drop down menu, assign it to an Xbox button, hit save and leave the LINDA window open and pres the button then P3D will respond. If I close the LINDA window or select Reload LUA or reboot etc... P3D won't respond. 

It may have something to do with the fact that Windows has pre-installed Xbox software and it is somehow interfering with the commands being send out to P3D. I made sure all MS Xbox software was not running and even uninstalled the one out 4 Xbox programs Windows would let me uninstall but it made no difference.

The bottom line I don't need any of the buttons on the Xbox One controller to be programmed in LINDA since my other two devices have dozens of buttons and switches but I was experimenting and hoping a friend could use the Xbox buttons with LINDA as he doesn't have enough buttons. I guess we'll have to leave it as a mystery but make note at least in my case with Windows 10 Pro and an Xbox One USB wired controller made by PDP LINDA will see it, allow you to program it but the commands don't do anything in P3D.

Again Thanks!

Joe 

Share this post


Link to post
Share on other sites

Hi Joe

Thank you for your detailed post. May I suggest you use the LINDA Console and debugging tool in your investigation.

By selecting Developer Mode and selecting GUI, LUA and Verbose logging, each button pressed with be listed in the Console (same as FSUIPC5.log) along with the device details and the function called.

As with other hardware (VRI, Saitek) any software used to control a device can and will affect what FSUIPC and LINDA sees. This has to be killed in Task Manager. Another test is to see what buttons FSUIPC itself detected and whether it can be used.

Share this post


Link to post
Share on other sites

Hi Scott,

Here's what I found. If I assign the buttons on the Xbox One controller in FSUIPC they work as they should it's only when assigned in LINDA they do not respond. I activated Verbose logging and recorded one of the buttons that works on my Virpil Throttle that is programmed to send the P key press and then followed it with the button on the Xbox controller that was programmed to send the C key press. There are slight differences as you can see, perhaps you can discern something from the log that is preventing it from being seen by P3D?

See Dropbox link below with the log file. You will see 2 presses of the working button i.e. P key transmit followed by 2 presses of the Xbox nonworking working button trying to transmit the C key.

https://www.dropbox.com/s/64gck0zjermqpfq/LINDA Verbose Log.png?dl=0

Thanks in advance

Joe

Edited by joepoway

Share this post


Link to post
Share on other sites

Hi Joe

The Console screenshot shows me exactly what I would expect. The LINDA GUI is being passed the Button press, decoding it and passing it to the LINDA LUA as an [EVNT] Button OnPress. This is decoded as a key press. This happens for both devices (03EB-0480 and 045E-02FF). The string of 0s and 1s are the number of buttons on each device.

I have tested this on my system with Keys P (pause) and Ctrl+. (brakes). These key assignments work provided that P3D retains the windows focus (I first clicked on the P3D screen to ensure this). However, if P3D loses focus (ie. I click outside P3D or on another App like LINDA), neither button press Key is recognised.

Have you tried assigning Key P to both buttons? Do both Pause P3D? If the XBox device does not then somehow the focus is being directed away from P3D. Does pressing P or C  on the keyboard achieve what you want? Again this indicates that the focus is being lost.

As I said before using Key presses is not the recommended implementation. Functions from the aircraft or Library modules (eg. Brakes_PARKING from LIB:Default FSX) should be used. Functions communicate directly with P3D regardless of which window has the focus.

Edited by ScotFlieger

Share this post


Link to post
Share on other sites

Thanks Scott

Yes I have tried everything you have mentioned. Everything always works on my other devices as well as the key board while I’m getting no response from the Xbox. I have also assigned every possible command ie key press, FSX Default, Other and custom commands with always the same result looks like it’s working but never does anything in P3D. I know there is no loss of focus because the other devices work also I have minimized LINDA, Reloaded LUA and even rebooted Windows again never works.

If you look closely at the log you will see that the Xbox device isssuing the C press command is missing a line about the HID device that shows up in the other device executing the P press command. They are not each containing the same commands regarding that line. Could that be the issue, if not I think as I said before somehow Windows is hijacking the Xbox and causing  a loss of focus however it is strange that doesn’t happen when I use FSUIPC with the same controller.

Let me know if you see the missing line in the log I’m referring to and would that matter.

Thanks again

Joe

Share this post


Link to post
Share on other sites

Hi Joe

I am not sure what missing line you are referring to. The second device is however showing the button being depressed followed by an immediate release. The bit 5 is being toggled in rapid succession as though it is not holding. Please email the full FSUIPC5.log (which is easier to read that the screenshot). However, the command is queued and LINDA is reporting that it is responding.

There is an extra line (HIDSwitchDevice) as LINDA detects the change between the 2 device inputs.

The only way Windows will hijack your Xbox is if there is a driver or some software running.

Share this post


Link to post
Share on other sites

The line you note is the one I was referring to so that’s obviously not the issue.

There is no software running as I have thoroughly checked. There are drivers that were automatically installed when I first plugged in the device. What’s very strange is that FSUIPC works and LINDA doesn’t when I thought LINDA uses FSUIPC as its interface.

I will see if I can generate an FSUIPC5 log however I have never used or generated a log in FSUIPC.

Joe

 

Share this post


Link to post
Share on other sites

Hi Joe

The FSUIPC5.log is always generated automatically. It is what you also see in the LINDA console.

This is an issue that has not been reported before. What makes me wonder is why the button is reported as being immediately release following the press. Try assigning the same instruction to the OnRelease value. And possibly OnRepeat too.

 

Share this post


Link to post
Share on other sites

Scott

Being the engineer that I am I hate to say this but I think this will remain a mystery. I tried assigning it to all the combinations and still no luck.

FSUIPC log sees all the devices including the Xbox One but the button press on the Xbox does not register in the log file.

Thanks for all your help I'll tell my friend he cannot use his Xbox controller with LINDA only ChasePlane.

Sincerely

Joe  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now