briankendall/devreorder

View Log Output

MizterB opened this issue · 7 comments

I'm having difficulty getting my devreorder settings to take hold, and have been trying to debug the situation. I see some logging calls in the code that may be helpful in debugging, but cannot determine where that log gets written. Or is there a better way to troubleshoot?

A few of the logging calls appear in DebugView. However I think most of them disappear into the void, as Windows doesn't provide any reasonable facility I'm aware of for getting at the output of non-console applications.

Anyway, the current release of devreorder doesn't print where it's looking for devreorder.ini, so getting at all of the debug info won't help you. However I should probably add more logging in order to help people deal with issues like this.

Where are you putting devreorder.ini, by the way? Do you want to have different settings on a per-game basis? If not, have you tried putting it within the ProgramData folder? Usually the correct path for it is C:\ProgramData\devreorder\devreorder.ini if you installed Windows to your C drive, but in case you didn't you can find out exactly where the ProgramData folder is by opening an explorer window, typing %PROGRAMDATA% into the address bar and hitting enter.

I had tried both the system-wide and game specific approaches, including ProgramData for the system. However, I just ran a test with a different USB adapter, and I was able to reorder it and hide it. So the issue appears to be with the device names I am passing to in the .ini. As I look in the registry, the devices giving me a problem appear to have trailing spaces in the device name. But including/excluding those spaces doesn't seem to be improve the device detection.

I have been using the DLL's provided in the Release folder. However, I see some recent commits that touch string functions. Would those potentially address this issue? Should I build from source?

If you can do that, then yes, certainly build from source. You've reminded me that I still need to make another release, which I'll try to get around to in the next couple of days.

Thanks, especially because I haven't had any luck compiling on my own. The dinput project, as checked out from GitHub right now, doesn't cleanly compile for me (in VS Community 15). It does not correctly reference the external project dependencies. Perhaps something something to look at when you pull together your next commit. In the meantime, I'll look out for a new release, and hope that it solves my current issue. Regardless, thank you for your work in putting together this program!

That's odd, as I'm using VS2015 Community myself. I'll look into it.

In any case, I just made a new release that has the fix for devices with extra whitespace in their names. Link

Oh, I think I know what's wrong. I'm using submodules with this repo, so you have to recursively clone the repo to get everything, e.g.:

git clone --recursive https://github.com/briankendall/devreorder.git

Since I made this repo I've come to conclusion that using git's subtree feature is better than using submodules, since that way when you download the repo you always get everything, and there's no reliance on the other repos still existing. I'll change it over at some point.

Please let me know if this new release fixes the issue for you.

Yes, the new release solved the problem for me. Everything is now sorting correctly. Thank you very much for the quick responses! I also tried using DebugView and can confirm that I was able to see the logging output.

While I used the release link that you provided, I also tried the recursive clone and was able to compile by source. Thanks for the tip!