NightmareXIV/AntiAfkKick

Doesn't work after using gamepads

dotpxx opened this issue · 19 comments

seems the plugin will not work when using gamepad and afk without any move of keyboard and mouse.

hmm would I have a gamepad to test it... but I'll try to think of something

You can try to use the gamepad mode of character settings and 012468+. of the numeric keypad. It seems equivalent to using gamepad

Could you please send a dalamud.log file right after you got kicked from game?

dalamud.log

Hope it's helpful but it didn't have any info of sending keypress when i was afk...

I've updated the plugin in repo. Could you test it now?

It doesn't work as above...

It doesn't work as above...

could you attach a log from new version?

dalamud.log

I think it's the same as before

From the log it seems like thread just stops doing anything, however it doesn't exists because there is no exit message.
Okay, could you please use this version, generate some log using it and send it to me?
This version will not resolve your problem, but logs from it hopefully will help me to figure out the problem.
Just uninstall installed version and unpack this archive to %appdata%\XIVLauncher\devPlugins
latest.zip

I cloned and placed some debug logs in the project.

GetLastInputInfo returns 0 when gamepad is active.
This is probably due to analog values being polled from the analog sticks being interpreted as "activity".
Game ignores this due to analog deadzone being set.

I cloned and placed some debug logs in the project.

GetLastInputInfo returns 0 when gamepad is active. This is probably due to analog values being polled from the analog sticks being interpreted as "activity". Game ignores this due to analog deadzone being set.

Thank you for figuring that out!
I have updated plugin to rely on in-game timer rather than system one. Hopefully that fixes the issue.

Still broken as of 2.0.0.7. Would you push your changes and ill check the cause.

Sure, I'll do so when I'm back from work

I've updated the code and in addition I included logging lines already and updated plugin in repo, just enable debug level in log to see debug lines
image

Seem to be working in the open world. However in BSF, *AfkTimer is zero with or without gamepad.
Im happy to test for you before you release. Just branch into a test branch and ill build and test from there.

I've updated the plugin, please try it again, should work now
(why game has to have different afk timers....?)

Seems to be working for me now. Tested in BSF, Zadnor, open world and pagos.

@dotpxx could you test it as well then and report if your issue is resolved now or not?

@dotpxx could you test it as well then and report if your issue is resolved now or not?

Sorry for late. It seems finally works for me.
Thank you for your works!