Skip to content

Cannot type Shifted characters (e.g. #, ") or overlapping keys in Safari on macOS #5374

@route250

Description

@route250

Details

  • Browser and browser version: Safari 18.5
  • OS version: macOS 15.5
  • xterm.js version: 5.5.0

Steps to reproduce

  1. Open an xterm.js terminal on Safari (macOS 15.5) with a Japanese (JP) keyboard layout.
  2. Try typing Shift + 3 to input # — nothing appears.
  3. While still holding Shift, press 3 again — now # appears.
  4. Similarly, try typing Shift + 2 to input " — same behavior occurs.
  5. Next, press and hold the A key, then press the S key without releasing A.
  6. Only A appears in the terminal — S is ignored.
  7. If you release A before pressing S, both characters are input as expected.

This issue does not occur in Google Chrome on the same macOS system.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/css/xterm.min.css">
        <script src="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/lib/xterm.min.js"></script>
        <script>
            document.addEventListener('DOMContentLoaded', () => {
                const terminal = new Terminal();
                terminal.open(document.getElementById('terminal'));
                terminal.focus();
                terminal.onData((data) => {
                    terminal.write(data);
                });
            });
        </script>
    </head>
    <body>
        <div id="terminal"></div>
    </body>
</html>

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions