ohai, long time no see!
a small thread of gaming updates that I’m excited for you to try out in the iOS 18 beta and macOS Sequoia beta happening now...
Game Porting Toolkit 2 - https://developer.apple.com/games/game-porting-toolkit/ with improvements to instruction and graphics API emulation (hello, ray tracing!), more games run, and they run faster and with more accuracy. This year even more tools and dedicated sample code based on your feedback about what makes writing and porting high-end games easier.
Game Porting Toolkit - Games - Apple Developer

The Game Porting Toolkit makes it easier than ever to bring games to the unified gaming platform across Mac, iPad, and iPhone.

Apple Developer
Game Mode on iOS - maximizes gameplay performance by minimizing background activity, while dramatically reducing input and audio latency. https://www.macrumors.com/2024/06/13/ios-18-game-mode-faster-iphone/
iOS 18's New Game Mode Makes iPhones Faster and More Responsive

With iOS 18, Apple is adding Game Mode to iPhone. A similar Game Mode was added to macOS Sonoma last year, and the same performance-enhancing...

MacRumors
Wired Xbox Controllers - speaking of low-latency game input, one of the most-requested features for Xbox fans is here - use your Xbox controller on macOS, iOS, and iPadOS with a wire. (Hey, how was that any different from other wired controllers? Xbox uses a custom fast USB protocol called GIP instead of the USB-HID standard. But now you don’t have to care.)
Human Interface Guidelines for Games on Apple Platforms - https://developer.apple.com/design/human-interface-guidelines/designing-for-games. This is an awesome new starting point for our recommended best-practices in user-experience. Don't miss the associated talk, https://developer.apple.com/videos/play/wwdc2024/10085/
Designing for games | Apple Developer Documentation

When people play your game on an Apple device, they dive into the world you designed while relying on the platform features they love.

Apple Developer Documentation
@natbro Some games, such as memory games and puzzle games, can help to improve your memory and recall. https://geoguessr.io/
GeoGuessr Free | Unlimited Mode

GeoGuessr Free: Guess the world! Explore stunning locations and test your geography skills with the free GeoGuessr game. Play Now!

GeoGuessr Free
@pioknagysta @natbro
parole gioco wordle offers a creative mix of guessing and strategy that keeps players coming back for more. https://mywordle.net/wordle-italiano/
Wordle Italiano Senza Limiti: Sblocca il Divertimento Illimitato e Mostra il Tuo Talento

Scopri il divertimento illimitato con Wordle Italiano Senza Limiti! Metti alla prova le tue abilità nel risolvere parole e goditi un'esperienza di gioco senza limiti. Gioca ora e lasciati conquistare da Wordle Italiano

My Wordle Unlimited
@natbro Great work! So most controllers work both wirelessly and wired? I know that's true for PlayStation controllers and now Xbox. Does the Switch Pro controller work wired also?
@jimmyjamesuk hmmm give it a try and let me know :)
@natbro Lol. I’ll have to see if I can borrow one. I was thinking of buying it but wanted to check before going ahead. I’ll get back when I find out.
@natbro @jimmyjamesuk wired Xbox Series X controller didn't work for me with Whisky on Sequoia 15.0.1 today though Bluetooth still was fine 🤷‍♂️
@natbro @jimmyjamesuk in Wine Control Panel it does show up but I can't get any input from it in the Test Joystick tab or in Steam.
@natbro @jimmyjamesuk actually after lots of plugging unplugging and starting and stopping Whisky I got it to respond in Wine Control Panel! Not sure the pattern yet. Though Steam still doesn't see it
@jimmyjamesuk @natbro Switch Pro controllers are USB HID devices, so they're easier to support than the Xbox controllers.
@tedmielczarek @natbro So do they work wired?
@jimmyjamesuk @tedmielczarek yep Switch Pro controllers and wired Xbox controllers should both be a-working now.
@natbro Many thanks. Great news!
@natbro Oh! This one is pretty handy. Often I don't want to poke around with pairing, and ability to just attach controller via USB-C cable will be great 👍
@natbro oh wow. did yall write a gip driver for mac for this? i think i remember there being an open source linux version out there. did you adapt from that or something else?

@natbro Hi! I accidentally stumbled upon this post. I've been doing a pet project on C# for a while now. The task is simple. I want to send a packet to my Xbox Series controller to turn it off. I tried using libusbdotnet and writing a device handle but to no avail.

Is there a way to get a short consult from you?

Heya @magrega - when wired there is no shutdown packet that I’m remembering. Wirelessly (Bluetooth attached for mobile and Mac - on windows could be custom wireless) the GIP command is 0x08 0x02 0x00 (system command, power off, padding/reserved). The chromium sources and the Linux xbox-gip-driver sources are your best options for public documentation.

@natbro Thank you for finding the time to reply. I've been reading gip docs from microsoft extensively and the command I've managed to come up with looks like this:
0x05 Command ID
0x20 Flags
0x01 Sequence number
0x01 payload length
0x04 payload. Power Off command.

Seeing that your bytes are different I am assuming that Xbox Controllers don't fully adhere to gip docs, is that right?
Also what tools can I use to send commands?

I've read this:
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gipusb/8eaad00e-97e6-4ae0-86fa-471131649d70

[MS-GIPUSB]: Set Device State Command

Host to device message used to set the state of the device. The following table shows the downstream GIP Set Device State