# keymap: Allow upper-case keys in keybinds \(\#27813\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/a1bef28da322bdb6b0ce54046acdebf089a80645)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: a1bef28da322bdb6b0ce54046acdebf089a80645

Requested commit: a1bef28da322bdb6b0ce54046acdebf089a80645

Commit: a1bef28da322bdb6b0ce54046acdebf089a80645

Tree: d29258fcc77495a6fd0bad59c8587ef7a9aae72c

Author: Ben Kunkle

Committer: GitHub

## Message

```
keymap: Allow upper-case keys in keybinds (#27813)

Reverts the error behavior introduced in #27558. Upper-case keys in
keybindings no longer generate errors, instead they are transformed into
`shift-{KEY}`
e.g. `ctrl-N` becomes `ctrl-shift-n`

The behavior introduced in #27558 where "special" keys such as function
keys, `control`, `shift`, etc. Are parsed case-insensitively is
preserved.

Release Notes:
- Improved how upper-case characters are handled in keybinds. "special"
keys such as the function keys, `control`, `shift`, etc. are now parsed
case-insensitively, so for example `F8`, `CTRL`, `SHIFT` are now
acceptable alternatives to `f8`, `ctrl`, and `shift` when declaring
keybindings. Additionally, upper-case (ascii) characters will now be
converted explicitly to `shift` + the lowercase version of the
character, to match the Vim behavior.
NOTE: Release notes above should replace the release notes from #27558
```

## Parents

- [8a212be0b1a9b1a95f128099e776f9a3331af12b](https://git.cafe/gitcafe/zed/commit/8a212be0b1a9b1a95f128099e776f9a3331af12b?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/a1bef28da322bdb6b0ce54046acdebf089a80645?format=markdown)
