Skip to content

Windows: allow Discord to receive a shared push-to-talk shortcut #175

Closed as not planned

Description

@mynameistito

Bug report

Summary

On Windows, Hex appears to consume its configured push-to-talk key instead of passing it through. When I set Hex's dictation shortcut to F24 and configure Discord's Push to Mute binding to F24, Discord does not seem to receive the key, so Push to Mute does not activate while Hex is using the shortcut.

Steps to reproduce

  1. On Windows, set Hex's dictation shortcut to F24.
  2. In Discord, bind Push to Mute to F24.
  3. Join a voice call and press/hold F24.

Expected behavior

Hex starts dictation and Discord also receives F24 so its Push to Mute binding can activate for the duration of the press. Releasing F24 should end both behaviors.

Actual behavior

Hex responds to the shortcut, but Discord does not appear to detect F24 and does not engage Push to Mute. The same Discord binding works when Hex is not running (please confirm this during triage if possible).

Environment

  • Hex version: v2.3.0
  • Operating system: Windows (version/build not yet provided)
  • Dictation shortcut: F24
  • Discord binding: Push to Mute on F24

Why this may happen

The Windows listener uses a WH_KEYBOARD_LL hook. In src/windows_input.rs, when the event matches the active dictation shortcut, the hook marks it as suppressed and returns 1 instead of calling CallNextHookEx. It does this for the matching key-down and key-up events. For a standalone F24 binding, those are the very events Discord needs to observe; suppressing them would prevent another application from acting on the same physical press. This is a source-based explanation of the likely mechanism, not a verified trace from the reporter's machine.

This may be intentional to keep the dictation shortcut from leaking into the foreground application. Could Hex provide an explicit pass-through/shared-shortcut option on Windows, or another supported way to let another app observe a shortcut while Hex also reacts to it? The behavior and tradeoffs should be clear, since forwarding a shortcut can also trigger the bound action in other applications.

Related report

Handy has a related Windows report about key bindings not passing through: cjpais/Handy#1314. Handy's closed #955 describes the opposite direction (a shortcut unintentionally reaching other apps) and was reported fixed in Handy 0.7.9, so it may not be the same bug or directly applicable fix.

Automatically submitted on behalf of the user by an AI agent.

Activity

  1. thdxr commented on Oct 28, 2026

    @thdxr
    Member

    Thanks for reporting this! We're working on a brand-new version of Hex (rebuilt from the ground up), and it'll be out soon. This issue is about the current release, so we're closing it to keep the tracker focused on the new version. You can try the new dev build now — download links are in the README: https://github.com/anomalyco/hex#install-hex. If this still happens on the dev build, please open a new issue (or reply here) and we'll take a look.

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

  2. thdxr commented on Oct 31, 2026

    @thdxr
    Member

    Thanks @mynameistito for asking for shared push-to-talk shortcuts on Windows, it's still in Hex.

    To keep Hex simple for new users, unproven features now live in Settings › Labs, off by default. To keep using it, turn on Share dictation shortcut with other apps there, or run hex labs on share-shortcut. Get the latest build at https://github.com/anomalyco/hex#install-hex.

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions