Gamepad issues with 1.4.7

I just got a gamepad to try with Gsender. Since the YCCTeam Xbox Controller that is listed as one of the officially tested gamepads isn’t currently available, I found one that looks absolutely identical to it. Hardware Tester recognizes it as “0079-0006-USB Joystick” and all of the controls on the gamepad are recognized.
Gsender recognizes the gamepad as USB Joystick (Vendor: 0079 Product: 0006) and it says “Profile is Available”. When I click “Add New Profile”, the Shortcuts screen appears. The Joystick settings seem to be correct, Stick 1 Left/Right is set to X, Stick 1 Up/Down is set to Y and Stick 2 Up/Down is set to Z. However when I leave the Settings screen and try to jog the machine, the behavior is very erratic. If jogging works, it will usually move EXTREMELY slow (like 5mm/min) and it will only go in 1 direction on any axis. How far it decides to move seems to be random. By increasing the Movement Distance Override to 300% I can occasionally get it to jog correctly and without stuttering. Occasionally.
I experimented with assigning a Lockout button. Is it normal behavior to require that this button be held down while jogging or should it be an on/off toggle?

My machine is a Genmitsu ProverXL 4030 running GRBL 1.1.

Have I missed something? What am I doing wrong?


I have done some more experimenting with the gamepad and I now have a better understanding of what is happening.

HardwareTester/GamepadTester recognizes everything on this particular controller, all the buttons and the sticks. The chrome Home button in the center changes how the sticks operate. When it is pressed, a red LED toggles on/off. With Home off, the sticks are digital (on/off) and their assignments are a bit strange, with lots of duplicates. For example:

Stick 1
Left/Right: Axis 0 -1/+1
Up/Down Axis 1 -1/+1

Left Pad: (identical to Stick 1)
Left/Right: Axis 0 -1/+1
Up/Down Axis 1 -1/+1

Stick 2
Left/Right: Button3, Button1
Up/Down : Button0, Button2

Colored Buttons: (identical to Stick 2)
Left/Right: Button3, Button1
Up/Down : Button0, Button2

With Home On, the sticks are analog and respond to varying degrees of movement. Home on seems to be the best option. Here is how the sticks are recognized with Home on.

Left/Right: Axis 0 -/+
Up/Down: Axis 1 -/+

Left Pad: (strange)
Left/Right: Axis 9 .7/-.4
Up/Down: Axis 9 -1/.14

Left/Right: Axis 2 -/+
Up/Down Axis 5 -/+

As you might imagine, Stick 2 Up/Down being recognized as Axis 5 is likely a problem. This probably explains why gSender doesn’t see it. It sees Left/Right but not Up/Down. I’m assuming gSender is expecting it to be on Axis 3. Unfortunately it doesn’t appear that there is a way to tell gSender to look for Axis 5 on Stick 2. I don’t think there is any way to remap the stick internally.

The Left Pad assignments are a bit strange as well.

As an experiment, I tried this controller with UGS 2.1.6. While it recognizes Stick 1 Up/Down, Left/Right it doesn’t see Stick 2 Up/Down either. However, jogging with the controller on the X and Y axes works perfectly, so I don’t think there is anything defective with this particular controller.

In order for this to work, it seems that there should be a way to edit the built in profiles or to create an entirely new custom profile. The way it works now, gSender forces a profile based on how it identifies your controller. Since gSender recognizes this controller and has a profile for it, it would be very interesting to know if the actual controller I have here is different from the “Vendor: 0079 Product: 0006” controller that the developers used to make the profile. Also, it would be interesting to know how the officially tested YCCTeam Xbox Controller is identified by gSender. While it looks EXACTLY like what I have, I wonder if the internal logic is the same.

Maybe this was made clear somewhere else, but I discovered that if you assign a Lockout button, you need to hold that button down while jogging. It isn’t an on/off toggle.

Another option would be to put this controller in the Home off mode where Stick 2 would be treated like buttons and not a stick. However, the problem here is that no Jogging Category shortcuts can be assigned. The choice of shortcuts that can be assigned is extremely limited. This seems like an easy fix.

With the obvious issues identified, the one remaining mystery is the erratic jogging performance on X and Y. As I mentioned above, sometimes it works sometimes it doesn’t. It will either move extremely slow in a random direction for a random distance or I have to set the Movement Override very high, around 600%. Since my computer keyboard shortcuts generally work well, I wonder if the controller can be made to mimic the keyboard.

That is what I have learned to this point. I hope this is helpful to someone.

1 Like