question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

PICTEK HD-060: Gyro drifts down constantly (otherwise works perfectly wirelessly)

See original GitHub issue

Describe the bug

I got a PICTEK HD-060 for Christmas, and I’ve set it up with DS4Windows (and Vigem and HIDGuardian). It’s a 3rd-party DS4 replacement with Xbox layout, but also includes the touchpad, gyro, lightbar and a turbo button.

Connected via Bluetooth, it shows up as a PC263 Controller in Windows, and a DS4 v.2 (D0:27:96:3D:14:B7) ID in DS4Windows. VID: 0x054C, PID: 0x09CC according to HIDNinja

Working:

Buttons, Analogue Sticks, Triggers, Lightbar, Touchpad, Turbo function

Bugs:

  • The gyro half works. It shows up in the SixAxis box under Controller Readings, but when I try and map it to anything, it constantly drifts downwards (tested by mapping to mouse). The Accel Y axis field in Controller Readings shows the Y slider all the way over to the left for an idle resting controller (whereas X and Z acceleration hovers near the middle for idle). The constant drifting looks like it’s due to this controller having a different offset for Y acceleration. Would it be possible to fix this?

  • Doesn’t work wired, Windows glitches out and spams “installing controller”; controller is advertised as working out-of-the-box with Windows, Android and PS4. Possibly when wired to Windows it tries to emulate an X360 or something by default?

  • Under Output Slots, the first 5 X360 slots are occupied as Active and Dynamic (not sure if this is normal; surely 1 should show up as used, not 5?) EDIT: Disconnecting the controller shows that it only uses the first slot. The other 4 slots stay occupied. No idea why, no other controllers are connected. Maybe due to the glitch when I plugged it in wired? Not sure how to clear the slots or if this will cause problems later on.

  • When disconnecting, the Log occasionally says:

Gamepad data write connection is lost. Disconnecting the gamepad. LastErrorCode=997
Controller 1 was removed or lost connection

(might have been leftovers from when I tried it wired and it glitched out)

Desktop:

  • Controller Make and Model: PICTEK HD-060 / PC263 (manufactured by Shenzhen Hong Jingda Electronics Co. Ltd.).
  • OS: Windows 10 Pro 1909 (desktop PC, using Windows Bluetooth via a dongle)
  • DS4Windows Version: 2.2.1, ViGem v1.16

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:9

github_iconTop GitHub Comments

1reaction
mika-ncommented, Jan 19, 2021

DS4Windows doesn’t do custom calibration for gyro. It uses the internal calibration found in genuine DS4 gamepads. But, there is a pull request with a custom gyro calibration routine. https://github.com/Ryochan7/DS4Windows/pull/1776

1reaction
mika-ncommented, Jan 3, 2021

Try running the debug version (extract the debug version into the same folder where you have the official DS4Windows 2.2.1 version). The debug logfile (%APPDATA%\DS4Windows\Logs folder) might tell more, for example, about the gyro calibration. https://github.com/Ryochan7/DS4Windows/wiki/Troubleshooting#detailed-debug-log-file-from-gamepad-connection-problems

And you seem to have old ViGem driver version. I recommend to install the latest 1.17.333 version because Nefarious has fixed various bugs and improves few things in ViGem driver which may cause “ghost virtual controller” issues when a connection is unexpectedly lost. https://github.com/ViGEm/ViGEmBus/releases

About the USB wired issue. Some 3rd party controllers wants to act like xinput devices in PC instead of as dinput devices. If the gamepad firmware or driver detects that the connection is made with PC and not with PS console then the gamepad may make an idiotic decision to act like xinput device. This usually means “good bye touchpad/lightbar/gyro” support in PC. Could be that the driver of that pad does this when it is connected over USB and not over BT in PC?

Those “gamepad data write connection is lost. Disconnecting. LastErrorCode=xxx” messages when a gamepad is intentionally disconnected is a “false alarm”. Nothing to worry about. But if you keep seeing this when you didn’t intentionally disconnected the pad then it is an indication of connectivity problem.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Gyro keeps drifting : r/SteamController
When you're in game and it starts to drift, hit the steam button and put the controller down on a flat surface. You...
Read more >
DS4 controller on steam suffers from gyro drifting, and ...
Having the same problem, down to the direction of the drift. The gyro works perfectly with DS4Windows so this must be a Steam...
Read more >
How to fix Steam Controller Drift - YouTube
With the steam It would seem the Gyro drift with the steam ... Turn the controller off and on again (does not always...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found