Skip to content

Impossible to type numbers on a French AZERTY keyboard #10577

Closed

Description

@akhansari

Description

Nothing happens when I try to type numbers on a French AZERTY keyboard.

This would only happen on WezTerm.

By default on a French layout, we had to hold the shift to type numbers.

Plugins

No response

OpenCode version

1.1.35

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

Fedora

Terminal

WezTerm

Activity

  1. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Jan 25, 2026
  2. github-actions commented on Jan 25, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    These issues suggest that OpenCode's TUI may have underlying keyboard handling problems that affect non-English keyboard layouts and number input in specific scenarios.

    Feel free to ignore if none of these address your specific case.

  3. doums commented on Jan 26, 2026

    @doums

    Hi, same issue here, on Wezterm (built from master 712400a5).
    Note that outside of opencode, numbers just work. The issue is present in opencode prompt only.
    On Ghostty no issue.

    Linux, X11, layout set to fr (azerty)
    opencode 1.1.36
    fish, version 4.3.3 (if this is relevant)

  4. kommander commented on Jan 27, 2026

    @kommander
    Contributor

    Could you download an opentui-examples-* prebuilt executable from https://github.com/anomalyco/opentui/releases/tag/v0.1.75 and run the "Keypress Debug Tool", pressing the combos that do not work and then shift+s to dump the key log to cwd and share that?

  5. akhansari commented on Jan 27, 2026

    @akhansari
    Author

    Thanks for your reply. Here is the json:

    {
      "exportedAt": "2026-01-27T17:25:53.230Z",
      "rawInputs": [
        {
          "timestamp": "2026-01-27T17:25:49.670Z",
          "sequence": "\u001b[27;2;49~"
        },
        {
          "timestamp": "2026-01-27T17:25:53.227Z",
          "sequence": "S"
        }
      ],
      "keyEvents": [
        {
          "timestamp": "2026-01-27T17:25:49.672Z",
          "type": "keypress",
          "event": {
            "name": "1",
            "ctrl": false,
            "meta": false,
            "shift": true,
            "option": false,
            "sequence": "\u001b[27;2;49~",
            "number": false,
            "raw": "\u001b[27;2;49~",
            "eventType": "press",
            "source": "raw",
            "super": false,
            "hyper": false,
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
        },
        {
          "timestamp": "2026-01-27T17:25:53.229Z",
          "type": "keypress",
          "event": {
            "name": "s",
            "ctrl": false,
            "meta": false,
            "shift": true,
            "option": false,
            "sequence": "S",
            "number": false,
            "raw": "S",
            "eventType": "press",
            "source": "raw",
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
        }
      ],
      "summary": {
        "totalRawInputs": 2,
        "totalKeyEvents": 2
      },
      "capabilities": {
        "kitty_keyboard": false,
        "kitty_graphics": true,
        "rgb": false,
        "unicode": "unicode",
        "sgr_pixels": true,
        "color_scheme_updates": false,
        "explicit_width": false,
        "scaled_text": false,
        "sixel": false,
        "focus_tracking": true,
        "sync": true,
        "bracketed_paste": true,
        "hyperlinks": false,
        "explicit_cursor_positioning": false,
        "terminal": {
          "name": "WezTerm",
          "version": "20240203-110809-5046fc22",
          "from_xtversion": true
        }
      }
    }

    Strange... with Alacritty I have this:

          "event": {
            "name": "1",
            "ctrl": false,
            "meta": false,
            "shift": false,
            "option": false,
            "sequence": "1",
            "number": true,
            "raw": "1",
            "eventType": "press",
            "source": "raw",
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
  6. akhansari commented on Jan 27, 2026

    @akhansari
    Author

    Maybe this is related to wezterm/wezterm#6287

  7. doums commented on Jan 27, 2026

    @doums
    {
      "exportedAt": "2026-01-27T20:22:23.508Z",
      "rawInputs": [
        {
          "timestamp": "2026-01-27T20:22:06.889Z",
          "sequence": "\u001b[27;2;49~"
        },
        {
          "timestamp": "2026-01-27T20:22:23.504Z",
          "sequence": "S"
        }
      ],
      "keyEvents": [
        {
          "timestamp": "2026-01-27T20:22:06.892Z",
          "type": "keypress",
          "event": {
            "name": "1",
            "ctrl": false,
            "meta": false,
            "shift": true,
            "option": false,
            "sequence": "\u001b[27;2;49~",
            "number": false,
            "raw": "\u001b[27;2;49~",
            "eventType": "press",
            "source": "raw",
            "super": false,
            "hyper": false,
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
        },
        {
          "timestamp": "2026-01-27T20:22:23.507Z",
          "type": "keypress",
          "event": {
            "name": "s",
            "ctrl": false,
            "meta": false,
            "shift": true,
            "option": false,
            "sequence": "S",
            "number": false,
            "raw": "S",
            "eventType": "press",
            "source": "raw",
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
        }
      ],
      "summary": {
        "totalRawInputs": 2,
        "totalKeyEvents": 2
      },
      "capabilities": {
        "kitty_keyboard": false,
        "kitty_graphics": true,
        "rgb": false,
        "unicode": "unicode",
        "sgr_pixels": true,
        "color_scheme_updates": false,
        "explicit_width": false,
        "scaled_text": false,
        "sixel": false,
        "focus_tracking": true,
        "sync": true,
        "bracketed_paste": true,
        "hyperlinks": false,
        "explicit_cursor_positioning": false,
        "terminal": {
          "name": "WezTerm",
          "version": "20260116-054604-712400a5",
          "from_xtversion": true
        }
      }
    }
    

    Ghostty (numbers work here)

    {
      "exportedAt": "2026-01-27T20:25:51.240Z",
      "rawInputs": [
        {
          "timestamp": "2026-01-27T20:25:48.444Z",
          "sequence": "1"
        },
        {
          "timestamp": "2026-01-27T20:25:51.235Z",
          "sequence": "S"
        }
      ],
      "keyEvents": [
        {
          "timestamp": "2026-01-27T20:25:48.449Z",
          "type": "keypress",
          "event": {
            "name": "1",
            "ctrl": false,
            "meta": false,
            "shift": false,
            "option": false,
            "sequence": "1",
            "number": true,
            "raw": "1",
            "eventType": "press",
            "source": "raw",
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
        },
        {
          "timestamp": "2026-01-27T20:25:51.239Z",
          "type": "keypress",
          "event": {
            "name": "s",
            "ctrl": false,
            "meta": false,
            "shift": true,
            "option": false,
            "sequence": "S",
            "number": false,
            "raw": "S",
            "eventType": "press",
            "source": "raw",
            "_defaultPrevented": false,
            "_propagationStopped": false
          }
        }
      ],
      "summary": {
        "totalRawInputs": 2,
        "totalKeyEvents": 2
      },
      "capabilities": {
        "kitty_keyboard": true,
        "kitty_graphics": true,
        "rgb": false,
        "unicode": "unicode",
        "sgr_pixels": true,
        "color_scheme_updates": true,
        "explicit_width": false,
        "scaled_text": false,
        "sixel": false,
        "focus_tracking": true,
        "sync": true,
        "bracketed_paste": true,
        "hyperlinks": false,
        "explicit_cursor_positioning": false,
        "terminal": {
          "name": "ghostty",
          "version": "1.2.3-arch2",
          "from_xtversion": true
        }
      }
    }
    
  8. simonklee commented on Jan 29, 2026

    @simonklee
    Member

    ℹ️ This issue will be resolved once we bump opentui and cut a release.

  9. doums commented on Feb 27, 2026

    @doums

    Hi, I confirm on Wezterm, X11, the issue has been fixed.

  10. akhansari commented on Feb 27, 2026

    @akhansari
    Author

    Yes it's fixed. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingopentuiThis relates to changes in v1.0, now that opencode uses opentui

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions