Skip to content

macOS: Repeated key's ReceivedCharacter cancelled by previous key's keyUp event #1488

@jayache80

Description

@jayache80

On macOS only, with some combinations of repeated keys, the action of releasing the first repeated key will cause the remaining repeated key to no longer call ReceivedCharacter.

Steps to reproduce:

  1. Hold down j until it repeats
  2. While still holding down j, hold down k until that repeats. (j's ReceivedCharacters will stop, superseded by k's ReceivedCharacters, as expected.)
  3. Release j while still holding k. This causes k's ReceivedCharacters to stop.

Expected behavior:

  1. Hold down j until it repeats
  2. While still holding down j, hold down k until that repeats. (j's ReceivedCharacters will stop, superseded by k's ReceivedCharacters, as expected.)
  3. Release j while still holding k. k's ReceivedCharacters should continue until k is released.

This causes much frustration to, say, vim and less users with "lazy fingers" while trying to scroll in a terminal emulator utilizing winit.

Note: This happens, strangely, only with some key combinations. For example, trying the above steps with a and s will not reproduce this problem.

This is likely to be the cause of alacritty/alacritty#2788

Metadata

Metadata

Assignees

No one assigned

    Labels

    B - bugDang, that shouldn't have happenedC - needs investigationIssue must be confirmed and researchedDS - appkitAffects the AppKit/macOS backend

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions