Skip to content

fix(input): don't send ALT when right-alt is remapped to meta#5318

Open
ap-1 wants to merge 1 commit into
LizardByte:masterfrom
ap-1:fix/rightalt-meta-modifier-leak
Open

fix(input): don't send ALT when right-alt is remapped to meta#5318
ap-1 wants to merge 1 commit into
LizardByte:masterfrom
ap-1:fix/rightalt-meta-modifier-leak

Conversation

@ap-1

@ap-1 ap-1 commented Jun 23, 2026

Copy link
Copy Markdown

Description

key_rightalt_to_key_win only remaps the keycode (0xA5 -> 0x5B), not the client's modifiers bitmask. On clients where right-alt reports as alt (e.g. macOS right-option), packets sent while it's held still carry MODIFIER_ALT, so the synthetic-modifier check injects a real ALT and the host gets META + ALT + <key> instead of META + <key> (e.g. Super+1 binds fire as Super+Alt+1).

Clearing MODIFIER_ALT from that check when right-alt is the only alt held and the remap is active avoids this; a real left-alt still passes through.

Tested on Wayland/Hyprland with a macOS Moonlight client. With the remap on, Super+<n> binds reach the compositor as Super+<n>.

Screenshot

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

Signed-off-by: Anish Pallati <i@anish.land>
@ap-1 ap-1 force-pushed the fix/rightalt-meta-modifier-leak branch from 2c23b75 to 8c51850 Compare June 23, 2026 03:10
@sonarqubecloud

Copy link
Copy Markdown

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Map Right Alt key to Windows Key" registers as alt+win

1 participant