WinBox 4 shortcuts

We would like to get user community input on WinBox DEFAULT keyboard shortcuts. Things to consider before posting:

  1. In future we are considering option to customise shortcuts, but we want to figure out "the best defaults", which please most of the users over multiple operating systems. So please focus on shortcuts, not the possibility to change them.
  2. Global and internal window management shortcuts must not conflict with terminal/console. Terminal usually needs to consume all simple combinations (Ctrl+key, Shift+key, Fx). Ctrl+Shift+key is usually good. CMD+key on MacOS. Alt+key maybe? Ctrl+Fx maybe?
  3. It would be very good to have the same "key" value on all OS.
  4. Some examples of existing shortcuts:
    4.1) Ctrl+Shift+W and CMD+W (close internal window) (also ESC, but doesn't work with Terminal window)
    4.2) Ctrl+Shift+K and CMD+K (global search)
    4.3) Ctrl+F (table search)

Please provide well processed ideas which most likely would suite the biggest part of the user community, not some individual preferences.

A list of all the existing keys in WinBox 3 should be made FIRST,
and that should be used as the default, so as not to "annoy" anyone who has been using WinBox for decadees (example, from 2007)...

Inevitably, everyone has their own preferences,
but the shortcuts inside the terminal certainly can't be the same outside...

On Windows, outside the terminal, I expect Ctrl+X, Ctrl+C, and Ctrl+V [⌘+X / ⌘+C / ⌘+V] to work like cut/copy/paste,
but I expect Ctrl+C [⌘+C] to not "copy" inside the terminal but break...
but Ctrl+V [⌘+V] on terminal must still paste the contents of the clipboard into the terminal.

Then to close the internal window, I expect Ctrl+F4 [⌘+F4], not a 5-finger combination...

Current WinBox 3 shortcuts

Windows/Linux MacOS Window Terminal Note
<INS> <?> Insert a new item in table or in multiple field [NOT implemented overwrite mode]
<DEL> <?> Delete selected items in table or in multiple field delete follow character
Ctrl+<+> ⌘+<+> Increase WinBox font / Zoom + =
Ctrl+<-> ⌘+<-> Decrease WinBox font / Zoom - =
<TAB> <TAB> Switch to next item autocompletion
Shift+<TAB> Shift+<TAB> Switch to previous item <nothing> (like just <TAB>)
Ctrl+<TAB> ⌘+<TAB> Switch to next tab Switch to next window
Ctrl+Shift+<TAB> ⌘+Shift+<TAB> Switch to previous tab Switch to previous window
F6 F6 Switch to next window =
Shift+F6 Shift+F6 Switch to previous window =
ESC <?> Close active window <nothing>
F4 F4 Close active window Toggle Safe Mode F4 for Safe only from v7
Ctrl+F4 ⌘+F4 <nothing> Close active window
F7 F7 <nothing> Toggle Hot-Lock Mode F7 only from v7
Ctrl+T ⌘+T <nothing> switch to active background task
Ctrl+A ⌘+A Select all go to line start
<HOME> <?> go to first line or item in dropdown go to line start
Ctrl+X ⌘+X Cut Toggle Safe Mode
Ctrl+C ⌘+C Copy BREAK script OR copy selected text
Ctrl+V ⌘+V Paste Paste from v6.4x.x
Ctrl+V ⌘+V Paste Toggle Hot-Lock Mode on old ROS only
Ctrl+Y ⌘+Y Redo inside a filed (not global redo) <nothing>
Ctrl+Z ⌘+Z Undo inside a filed (not global undo) <nothing>
Ctrl+E ⌘+E Enable active item go to line end
<END> <?> go to last line or item in dropdown go to line end
Ctrl+D ⌘+D Disable active item close terminal
Ctrl+M ⌘+M Edit active item Comment send current command line
F1 F1 <nothing> general console usage help
F2 F2 Edit active item Comment <nothing>
F3 F3 go to Find field, find next only on v7 do the same as Ctrl+R / ⌘+R
Ctrl+R ⌘+R <nothing> I do not know what do this shortcut only on v7
Ctrl+N ⌘+N <nothing> next command on history
<DOWN> <?> move between fields next command on history
F5 F5 <nothing> clear terminal window
Ctrl+L ⌘+L <nothing> clear terminal window
Ctrl+P ⌘+P <nothing> previous command on history
<UP> <?> move between fields previous command on history
Ctrl+H ⌘+H <nothing> delete previous character
Ctrl+B ⌘+B <nothing> go to previous character
<LEFT> <?> move between fields go to previous character
Ctrl+F ⌘+F <nothing> go to next character
<RIGHT> <?> move between fields go to next character
Ctrl+K ⌘+K <nothing> delete till the end of line
Ctrl+I ⌘+I <nothing> is like <TAB> to list possible commands

Esc and Ctrl + W for closing internal window, but not Ctrl + Shift + W. Ctrl + W is often used in other apps for such purposes and I think it's more suitable.


I expect Ctrl + C and Ctrl + Ins for copying, Ctrl + V and Shift + Ins for pasting. EVERYWHERE. These are standard shortcuts, at least in Windows.

But in Terminal there are 2 scenarios for Ctrl + C (WinBox 3 already works like that, not checked in v4):

  1. if no text is selected it should act as "break"
  2. if some text is selected, it should act as "Copy"

+++

This really weird behavior if it is really this way and should not be ported to winbox 4. Most terminal solve this by using CTRL+SHIFT+C and CTRL+SHIFT+V. Like strods already correctly suggested: "Ctrl+Shift+key is usually good."

I use Ctrl++ and Ctrl+- regularly and expect Ctrl+Shift+C and Ctrl+Shift+V to work for copying and pasting inside the Terminal. I’m using Linux.

Completely disagree and don't see anything weird. Same shortcut for 2 different situations. No need to introduce new "Ctrl+ Shift + something" shortcuts for no reason. This will only make life harder and annoy people who use standard shortcuts.

Checked v4, Ctrl + C works the same way in Terminal as v3 and please don't touch it.


@rextended, some actions have multiple different shortcuts, not just one, may be add them to your table? Like Ctrl + F4, Esc for closing internal window. Ctrl + W would be new 3rd shortcut for this action.

For Ins in Terminal I would assign caret switching (full height/underscore). Of course this feature should be implemented first.

I'm writing what I remember, not what it should be.
There's also Ctrl+R in RouterOS 7, but I'm ignorant about that; I don't understand what it's for.

I didn't consider individual keys like del, ins, esc, etc.
I add those, if missing please advise.

But I hope that on te table must not specified also expected arrows, home/end etc...

Ctrl+W?
I made some mistakes and corrected them along the way. Please check the list. Let's make one list instead of 20 different ones to avoid confusion.

Also who have a Mac, please help to fix missing keys <?>

I mean, specify multiple shortcuts:

image

WinBox 3 uses Esc and Ctrl + F4, so they should be just kept. WinBox 4 currently uses Esc and Ctrl + W. So, just combined everything.

Ah, now I understand...
But for now ignore ACTUAL Winbox 4, port all WinBox 3 shortcut, then if is room and do not conflict, add new WinBox 4 keys...

For now is better to split shortcuts on separate lines on table, please suggest if missing something from actual winbox 3 or 4

CTRL+C in terminal has a meaning. It is totally error prone to make this combination do a "copy clipboard" only when visual selection is active. I imagine myself pressing CTRL+C in a terminal, thinking I have a selection and then suddenly it does a SIGINT instead. This is really bad user experience. People who like to copy text from winbox terminal should right-klick and select "Copy to clipboard" from context-menu or should learn SHIFT modifier inside terminal: CTRL+SHIFT+C. But I guess I am biased by using Linux for ages. Windows apparently does use CTRL+C in cmd and MacOS terminal as well CMD+C. :person_shrugging:

I completely agree with Ctrl+C. When you select text, you're already using the mouse...

Unless you can select text without a mouse, just with the keyboard, and I admit I don't know how...

And then when I use Ctrl+C in the terminal, it should stop clearing the clipboard...

Doesn't matter of expectations, it's already used in WinBox 3 => it should remain as is.

Reason:

But in fact...

Let's build a joint wall, a COMMON request that they make everything the same as WinBox 3,

then to make the changes we'll insult and fight among ourselves later...

Well, if I'm already using a mouse, it doesn't mean that it's convenient to copy/paste with it. I select text by mouse using one hand, and copy/paste text by keyboard using other hand. If I would use mouse also for copying/pasting, it would require more clicks and movements, and it would be VERY inconvenient compared with two-hand method.

Of course, they do. But if you make a config keymapping feature the user can use the default, and if they don't like it, they can change the keymapping in the config file. LIke lots of apps today.

You are assuming that terminal window will only show RouterOS console. That is not true. Terminal can connect to any system via SSH/Telnet/Container and interact with any command line type of software. So for example all Ctrl+key keyboard inputs MUST be sent via terminal. For example, Ctrl+W can not close window, because this combination can be used by some console text editor. (Except of course the current special case with Ctrl+C when text is selected).

I presume it should follow common shortcuts as used on the platform, for example:

Function Windows/Linux Shortcut macOS Shortcut
Copy Ctrl+C Cmd+C
Cut Ctrl+X Cmd+X
Paste Ctrl+V Cmd+V
Undo Ctrl+Z Cmd+Z
Redo Ctrl+Y Cmd+Shift+Z
Select All Ctrl+A Cmd+A
Save Ctrl+S Cmd+S
Find Ctrl+F Cmd+F
Close Window/Tab Ctrl+W or Ctrl+F4 Cmd+W
Display Help F1 Cmd+?
Refresh F5 Cmd+R

WinBox 3 has one really bad shortcut combination, which would be better not to be brought over.

It is Ctrl + D - in terminal window it is logical and can/should remain, but it is “disable item” everywhere else in WinBox - which means if wrong window inside WinBox is accidentally in focus it will lead to unintended disabling of currently selected item without any confirmation. Nobody would want that - especially when connected to remote site.

I have solved this for now by avoiding it completely - but shortcut/key combination should not exist to be avoided.

Maybe it would be better if “disable item” would not have a shortcut at all - or at least it should be something else than one of basic terminal key combinations…

I guess I disagree with this goal. WinBox, as a "native" app, should follow the native OS's standards. So the attempt to make some "universal" shortcuts seems likely disappoint everyone.

WinBox3 ran on Windows-only, so it does not sound like bad starting place, and then making a good attempt at preserving those in WinBox4 on Windows. But on Mac, command is used for operations like cut-and-paste, close, etc – so by default they don't interfere with the terminal (outside of some container/remote shell looking for the command/Windows key), so those should be default on Mac.

For example, Microsoft's VS Code uses 3 different sets of default depending on OS/platform & likely incorporates decades of common shortcuts for find/replace/search/disable/etc. that might be a good arbitrator for WinBox:
https://code.visualstudio.com/docs/configure/keybindings#_keyboard-shortcuts-reference

Why not just make the default OS specific? Then if someone want "Window-style" shortcut on Mac/Linux, customization seem like a reasonable approach (or vice verse, using "command"/"windows" key with C/V etc on Windows OS), but imagine most folk want their ow

But I've used many cross-platform Java admin tools in past that always use Ctrl-C/Ctrl-V even on Mac and many don't accept ⌘C/⌘V, which is especially annoying since it goes against muscle memory.

So my main take let's not use "Ctrl" on Mac for things like cut and paste, etc. Whatever happens on Windows or Linux, I'd think okay to differ.