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

    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