1jehuang / 1jehuang/jcode

Plain lowercase "i" decoded as Ctrl+Alt+I in TUI only; works in repl

Open
#896 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-info triage: unclear
Dominant language
Rust
Stars
19.9k
Forks
2.3k
Avg merge
2d 7h
Merged PRs (30d)
30

Description

Environment

  • jcode 0.75.2 (Windows)
  • Connected via SSH from Termux (Android)
  • Any keyboard layout — the failing character is the plain ASCII i (U+0069)

Bug

Pressing the ordinary lowercase i key in the TUI does not insert the letter. Instead jcode reports the unbound chord Ctrl+Alt+I ("Ctrl+Alt+I isn't bound, nearest: Alt+I toggle info widget"). The letter i cannot be typed at all.

Not a keyboard-layout quirk

This is the standard English i (U+0069), not a special Turkish character. Verified at the terminal layer with od -An -tx1 -c: the keypress sends a clean 69 (plain ASCII i). The same key works fine in jcode repl mode. So the defect is specific to the TUI input path.

Suspected cause

The TUI enables the kitty keyboard protocol (enable_keyboard_enhancement); the key arrives with a Ctrl+Alt modifier bit. Setting keyboard_enhancement = false under [terminal] in ~/.jcode/config.toml had no effect after a full daemon + client restart, suggesting that config key is ignored or the enhancement is enabled unconditionally.

Expected

i inserts i in the TUI.

Workaround

jcode repl works for typing i, but it is not the full TUI experience.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the TUI input path, comparing its keyboard handling with jcode repl mode, and inspect where the kitty keyboard protocol and terminal configuration are applied. Reproduce with a plain ASCII i over SSH, then verify that the TUI inserts i normally and that keyboard_enhancement = false is honored after restarting the daemon and client.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.