[PR #4268] tui: align keybinds with standard terminal/readline/screen conventions #10922

Closed
opened 2026-02-16 18:15:41 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/4268

State: closed
Merged: No


Aligned the keybinds with standard terminal/readline/screen conventions.


"session_child_cycle": "ctrl+tab", // was "ctrl+right"
"session_child_cycle_reverse": "ctrl+shift+tab", // was "ctrl+left"
  • Changing ctrl+left/ctrl+right as it conflicts with standard terminal/readline convention to quickly move the cursor word by word (instead of by char).
  • Changed to ctrl+tab/ctrl+shift+tab to make cycling through child agents similar to cycling through primary agents (tab/shift+tab).
  • Result: Unfortunately, the cursor is not moving yet as something is interfering with the readline configuration (/etc/inputrc) and also both ctrl+tab/ctrl+shift+tab are picked up as there was no ctrl. :(

"messages_page_up": "ctrl+alt+b,pageup", // was "pageup"
"messages_page_down": "ctrl+alt+f,pagedown", // was "pagedown"

"messages_first": "ctrl+g", // was "ctrl+g,home"
"messages_last": "ctrl+alt+g", // was "ctrl+alt+g,end"
  • Removing home/end as it conflicts with standard terminal/readline convention of moving the cursor to the beginning/end of the current message.
  • Result: Moving to beginning/end of message just works.

"history_previous": "ctrl+up", // was "up"
"history_next": "ctrl+down", // was "down"
  • Changing up/down as it conflicts with standard terminal/readline convention to move the cursor up/down across a multi-line message.
  • Result: Moving up/down across a multi-line message just works.
**Original Pull Request:** https://github.com/anomalyco/opencode/pull/4268 **State:** closed **Merged:** No --- Aligned the keybinds with standard terminal/readline/screen conventions. <br /> ```jsonc "session_child_cycle": "ctrl+tab", // was "ctrl+right" "session_child_cycle_reverse": "ctrl+shift+tab", // was "ctrl+left" ``` - Changing `ctrl+left`/`ctrl+right` as it conflicts with standard terminal/readline convention to quickly move the cursor word by word (instead of by char). - Changed to `ctrl+tab`/`ctrl+shift+tab` to make cycling through child agents similar to cycling through primary agents (`tab`/`shift+tab`). - Result: Unfortunately, the cursor is not moving yet as something is interfering with the readline configuration (`/etc/inputrc`) and also both `ctrl+tab`/`ctrl+shift+tab` are picked up as there was no `ctrl`. :( <br /> ```jsonc "messages_page_up": "ctrl+alt+b,pageup", // was "pageup" "messages_page_down": "ctrl+alt+f,pagedown", // was "pagedown" ``` - Adding GNU/screen-like full screen movement keys `ctrl+alt+b`/`ctrl+alt+f` to match half screen movement keys (opencode: `ctrl+alt+u`/`ctrl+alt+d`, screen: `ctrl+u`/`ctrl+d`) (https://www.gnu.org/software/screen/manual/html_node/Movement.html). - Leaving `pageup`/`pagedown` as it matches some old terminals behavior. <br /> ```jsonc "messages_first": "ctrl+g", // was "ctrl+g,home" "messages_last": "ctrl+alt+g", // was "ctrl+alt+g,end" ``` - Removing `home`/`end` as it conflicts with standard terminal/readline convention of moving the cursor to the beginning/end of the current message. - Result: Moving to beginning/end of message just works. <br /> ```jsonc "history_previous": "ctrl+up", // was "up" "history_next": "ctrl+down", // was "down" ``` - Changing `up`/`down` as it conflicts with standard terminal/readline convention to move the cursor up/down across a multi-line message. - Result: Moving up/down across a multi-line message just works.
yindo added the pull-request label 2026-02-16 18:15:41 -05:00
yindo closed this issue 2026-02-16 18:15:41 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#10922