DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

miiy /

miiy/dsh-terminal-keybar

Verified

A touch key bar for the DSH Web terminal.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@c0b6bc35

dsh-terminal-keybar

English | 中文

A touch key bar for the DSH Web terminal. A phone's soft keyboard has no Escape, Tab, Ctrl or arrow keys, which makes the terminal unusable. This plugin floats a translucent column of those keys on the right edge of the screen and writes them straight into the terminal that is on screen.

  • Vertical, translucent, so it does not cover the bottom of the terminal
  • Appears only on touch devices and only while a terminal tab is active; desktop is untouched
  • Centres itself in the visible area when the soft keyboard opens, so iOS does not hide it
  • A browser-only plugin: it copies no terminal code and does not modify DSH itself

Key column

Keys

Button Sends Typical use
Esc \x1b leave vim insert mode, close less/pagers
Tab \t path and command completion
↵ \r run the command
^C \x03 interrupt the running command
↑ ↓ ESC [ A / ESC [ B history, menu navigation, vim movement
← → ESC [ D / ESC [ C move within the line

Presses use pointerdown + preventDefault(), so the terminal keeps focus and the soft keyboard stays open: you can type and tap arrows in the same session.

Install

1. Through the Host's installBundle (installs and enables)

Ask the agent in a conversation:

install the plugin github:miiy/dsh-terminal-keybar

or paste the same spec into the install field on the Settings → Plugins page.

Both call the Host's installBundle, which installs the package, adds it to dsh.profile.bundles, and hot-applies it — one step.

2. From the CLI (dsh plugin, installs only)

dsh plugin --profile <profile> add github:miiy/dsh-terminal-keybar

dsh plugin forwards its arguments to pnpm inside the profile directory, so this step installs the package but does not compose it. The row then shows up on Settings → Plugins as installed and switched off; turn it on to add it to dsh.profile.bundles. If the switch does not take effect live, restart dsh web.

A plain-JavaScript bundle has no build script, so a git install needs no allowBuilds approval.

Accepted spec forms are the usual pnpm/DSH ones: github:user/repo, git+https://…, an absolute local path, or an npm package name.

3. From a local checkout (development)

plugin_manager install_bundle /absolute/path/to/dsh-terminal-keybar

Usage

  1. Open DSH Web on your phone.
  2. Open a terminal tab in the right sidebar.
  3. The key column appears on the right edge; tap it. It also works with the keyboard closed.

Known limitations

  • DECCKM (application cursor keys): the plugin writes bytes through the public webTerminals service and has no access to the xterm instance, so the arrows always send the CSI form (ESC [ A). bash/readline, vim and less accept it; programs that strictly require SS3 (ESC O A) may not.
  • Floating panels: visibility is decided from the active pane's active tab, so a terminal floated into a floating panel does not show the bar.
  • The column covers roughly the rightmost 46px of the terminal; it is translucent, and styles.bar in client.js exposes opacity / right if you want it smaller.
  • Web only (platform: web); the Desktop native window is unaffected.

Maintenance

See MAINTENANCE.md for the upstream API table (what breaks when DSH changes what) and the post-upgrade diff procedure. The DEBUG switch at the top of client.js paints an on-screen diagnosis badge when the bar does not appear.

node --check client.js && node --check index.js   # syntax self-check

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit c0b6bc35c17d

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout