NiyaShy / XB1ControllerBatteryIndicator

A tray application that shows a battery indicator for an Xbox-ish controller and gives a notification when the battery level drops to (almost) empty.
GNU General Public License v2.0
715 stars 51 forks source link

Hi #2

Closed L0neWarri0r closed 6 years ago

L0neWarri0r commented 6 years ago

Thx for this usefull app, it wold be great, if you also make intant gamepad disconnect option\button )

illusive-man commented 6 years ago

Agree. I love your app and we want it even better! ))

  1. It would be great to have charge level in percentage not High/Medium/Low if possible.
  2. Notification exits from the full screen app when invoked, making it unresponsive for short period of time.
  3. It's impossible to press "Shut up already" if №2 has occurred.

Otherwise great app. Thanks for your work!

NiyaShy commented 6 years ago

Great that you like it. @L0neWarri0r what do you mean? A disconnect button? That's (probably) not possible since (AFAIK) the XInput API only allows reading information from the controller, not writing to it or changing anything.

@illusive-man 1) is not possible. The API only reports those vague values and there's no way to get more precise data. Best indicator that it doesn't work better is that even the xbox utilities from Microsoft and Steam big picture mode only report vague levels. 2) could you be a bit more precise about that? You have a fullscreen app/game running, and the low battery warning does what? Steal focus from the game? I'll have to test that again, but as far as I remember I've had the notification a few times during gaming and it never influenced the game... Then again, I have a dual monitor setup, so maybe that makes a difference. 3) since I haven't seen 2) yet, that's also a bit hard to reproduce...

L0neWarri0r commented 6 years ago

I mean something like this, to set gamepad off after quit playing https://sourceforge.net/projects/turnoffxboxcontroller/

NiyaShy commented 6 years ago

I just looked into the documentation of the SharpDX library that I'm using to get data from the controller, and according to documentation there is no way to send data to the controller (other than getting it to rumble). So what you want is not doable with the current libraries/APIs. I'd probably have to rewrite the whole thing from scratch, and that's... a bit too much for such a small "issue". Especially since there are already tools available that do what you want.

illusive-man commented 6 years ago

@L0neWarri0r what's wrong with the long press of the Xbox Button to turn the controller off?!

@NiyaShy, yep. I was playing Mass Effect: Andromeda, Win10Pro x64, pretty nice rig with SSDs. It (low battery notification) did stole the focus, Mass Effect became minimized and unresponsive for like 20secs, but trying to press "Shut up already" (or anywhere in the notification area) gave me nothing. I had to quit your app forcefully via tray. I will try to reproduce that soon and will get back to you then.

L0neWarri0r commented 6 years ago

@illusive-man I didn't know of this feature on xbox one gamepad, 360's doesen't have it =)

NiyaShy commented 6 years ago

@L0neWarri0r the long press thing was mentioned on the description of the tool you linked ;) So I guess that tool only works with 360 controllers and isn't necessary for XBOne ones.

@illusive-man Thanks for the clarification. That the toast (those messages are officially called that way) stole focus is more or less a windows issue... The tool basically just tells windows "hey, I have a notification here, please display it to the user with these options". And, on startup, it registers with windows with a unique ID to be able to send and react to toasts. So when you click anywhere on the toast, Windows sends a note back to the tool "hey, user clicked on the toast and triggered event X" (that event depends on if you click on the "body" of the toast or on the button). So, with that in mind it is kinda weird that you had to force it to quit to get rid of the toast. After all Windows handles the toast and the tool just sends and waits for a reply. It was probably "fixed" by the force quit since that killed the toast registration.

Have you ever had other toasts (like from windows update or some other program) while gaming? That would be the "cross test" if it's a general toast issue or specific to the one the tool triggers. Then again, there is a slight difference between those toasts. The usual "hey, I installed updates and want a reboot" toast gets displayed for a few seconds and then retreats to the notification center. The ones the tool triggers are meant as "alarm" or "reminder" toasts that stay on the screen until you interact with them. I just did a quick test, you can force a "reminder" toast with the small "Microsoft to-do" app from the MS store. Add a new to-do point and set it to remind you at a certain time. Would be interesting to know if such toast behaves the same and forces ME:A to minimize. Could you try that out?

illusive-man commented 6 years ago

@L0neWarri0r, sorry mate. This app is called "XBOX ONE Controller Battery Indicator", so I supposed you have one. )) If you don't then just quick unlocking battery compartment and moving it a bit (without removing) turns the controller off. It's way faster (couple secs) than invoking app and/or clicking here and there. But I'm pretty sure you're aware of that. Cheers!

@NiyaShy, thanks for detailed reply. I understand all the principles the toasts operate, but no other toasts have ever interfered with any full screen apps (specifically games) before. That's why I was surprised and decided to inform you. BTW I don't know if it help but I have triple monitor setup and I'm gaming only on one of them (not surround setup).

As for quick test I have alarm set up while I'm gaming ME:A. But it behaves differently. When alarm triggers I can hear it's ringing but toast doesn't steal the focus or minimizes ME:A.

My controller's chargeable batteries are at full now so I will try and reproduce that behavior with your app later when they dry.

Anyway it's not a big deal and your app is still the best!

L0neWarri0r commented 6 years ago

@illusive-man у меня есть оба, просто недавно купил от вана, не знал, что его можно на кнопку выключить )

illusive-man commented 6 years ago

@NiyaShy, I promised to report so here it goes. Well, this time it didn't steal the focus of ME:A but I couldn't close the toast (your app has invoked) with "Shut up" button. But like I said, it's not a big deal.

P.S. In the coming 1803 (Redstone 4) Windows 10 update there will be some improvements to notification system. Maybe this will fix the issue.

NiyaShy commented 6 years ago

Thanks for the feedback. Not being able to close it is yet another weird thing... But as I already mentioned, that sounds more like a windows issue.

We'll see what 1803 brings, hopefully it won't break the notification like 1709 did xD

NiyaShy commented 6 years ago

Since I haven't heard anything from either of you for a while I'll take the liberty of closing this issue.