Skip to content

keyEquivalent String should not produce the physical key of a QWERTY keyboard #70

@DivineDominion

Description

@DivineDominion

KeyHolder uses Magnet's KeyCombo.keyEquivalent to show which key the user has pressed.

Take the C key, for example; the key cap of that key has "C" printed on a QWERTY keyboard. But when you switch keyboard layouts to DVORAK or NEO2 or similar, the actual typed character is different. Magnet's current logic is independent of the on-screen character and always shows the physical key.

For the NEO2 layout, the C key produces an "ä" character, for example:

image
image

Users have reported this to be confusing, because they want to see the character, not the key of their keyboard in the KeyHolder RecordView.

It gets confusing when you use Magnet and Sauce to record local keyboard shortcuts and show them in NSMenuItems like I do, because the NSMenuItem.keyEquivalent expects the "ä" character while the record view shows the "C" key. In general terms, the NSMenuItem's meaning of a 'key equivalent' is the actual typed character, not the physical key. So there's a mismatch.

I think the keyEquivalent property should be renamed, e.g. to keyLabel or keyCap.

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