How does it work?

To detect voice activity, AutoPTT listens to your microphone. It only cares about the sound levels; it does absolutely nothing with the actual audio content. It’s not recorded or sent anywhere.

AutoPTT only uses the Internet for:

  • verifying licenses
  • checking for updates
  • downloading and installing updates

To press and/or release the push-to-talk key, AutoPTT creates fake keyboard input events (with SendInput). These work just like real keyboard events except that Windows flags them as having been programmatically generated, and a very small number of games ignore them. In such cases, setting the Input Mode to “FakerInput” will instead generate keyboard input events using a virtual keyboard driver, which keeps the input events from being flagged.

There is also a third Input Mode, “AutoPTT Sidekick,” which works in a similar fashion to FakerInput, except that it’s an actual hardware device, not a driver. It’s basically a USB stick that pretends to be a keyboard.

While both FakerInput and AutoPTT Sidekick can also be detected and consequently ignored by listening for Raw Input, I am not aware of any games or apps that do that. Well, except for AutoPTT itself, that is.

To listen for hotkeys, AutoPTT also uses GetAsyncKeyState (keyboard & mouse) and XInputGetState (controller).

For the “Tap” activation mode, AutoPTT uses a low level keyboard hook in order to block the key release event from Windows.

Tags: