Skip to content

Terminal in Jupyter does not allow @ / Option modifier for German / Swiss Mac keyboard #7753

@norandom

Description

@norandom

Description

Option key combinations do not work in JupyterLab terminal (both left and right Option keys are affected).

This prevents typing essential characters on German keyboard layout:

  • @ (Option + L)
  • (Option + E)
  • [ (Option + 5)
  • ] (Option + 6)
  • | (Option + 7)
  • { (Option + 8)
  • } (Option + 9)

Version: JupyterLab 4.4.10 / Notebook 7.4.7

Root Cause

This is a known bug in JupyterLab tracked in:

The terminal's xterm.js implementation does not properly honor the macOptionIsMeta setting, causing Option key combinations to be intercepted before they reach the shell.

Reproduce

Open Jupyter Notebook, start Notebook. Keys work. Start Terminal. None work

Expected behavior

@ , |{}≠ should work

Context

  • Mac Keyboard (German, Swiss)
  • Modifiers Option (left and right)
  • Go to NB
  • Open Terminal
  • no modifiers

Details

The following workaround do not work:

1. JupyterLab Terminal Settings

File: jupyter-settings/@jupyterlab/terminal-extension/plugin.jupyterlab-settings

{
  "macOptionIsMeta": false,
  "macOptionClickForcesSelection": false,
  "altClickMovesCursor": false
}

2. JupyterLab Settings Overrides

File: overrides.json

{
  "@jupyterlab/terminal-extension:plugin": {
    "macOptionIsMeta": false
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions