Ticket #3591 (new enhancement)

Opened 4 years ago

Last modified 3 years ago

Usability/Joy of Use: Switching Panels Via Backslash Key (= Right-Hand Tab-Key on US-keyboards)

Reported by: telep Owned by:
Priority: major Milestone: Future Releases
Component: mc-core Version: master
Keywords: Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

I'm using a keyboard with US-layout, although living in Germany.

I navigate directories entirely by the navigation keys on the right side of my keyboard: Small hand movements are sufficient to find and open files, while having a hand free for other things. Switching panels, however, requires me to press the tab key on the very opposite side of the keyboard – every single time. Instead, the backslash can be thought of as the right-hand tabulator key.

Backslash triggers the “unselect files” dialog in MC at the moment, which is also available through the hyphen and minus key, so remapping won’t break anything.

AFAIK you can’t modify this key binding via mc.keymap. You have to modify the source code at the moment:

So I made a simple patch for version 4.8.7 some time ago:
http://dl.dropbox.com/u/37393754/mc-4.8.7-backslash_change_panel.patch

The better way, however, would be a remapping option in the mc.keymap file

Image of the US-Layout: http://i.imgur.com/wTx6kZ8.png

Attachments

mc-panel-switch-keyboard8.png (15.1 KB) - added by telep 4 years ago.
right-hand tab-key (US keyboard layout)

Change History

Changed 4 years ago by telep

right-hand tab-key (US keyboard layout)

comment:1 Changed 4 years ago by telep

  • Summary changed from UX: Switching Panels Via Backslash Key (comfy right(!)-hand Tab-key on US-keyboards) to Usability/Joy of Use: Switching Panels Via Backslash Key (= Right-Hand Tab-Key on US-keyboards)

comment:2 Changed 3 years ago by mooffie

  • One half of this ticket is solved by #3672 (by introducing a command to switch panels, "ChangePanel").
  • The other half is solved by #3664 (by letting you re-define the the '\' key to execute "ChangePanel" if the command-line is empty (or not empty)).

But I don't have too much hope of having #3664 committed. In the meantime you can use mc2 with this snippet:

--
-- Make the '\' key switch panels, if the cmdline is empty.
--
ui.Panel.bind_if_commandline_empty('\\', function()
  if ui.Panel.other then
    ui.Panel.other:focus()
  end
end)
Note: See TracTickets for help on using tickets.