Ticket #1315 (new defect)

Opened 3 years ago

Last modified 3 years ago

Context menu: keyboard alternatives do not work

Reported by: dolmen Owned by:
Priority: major Milestone: Satisfy all the requirements of PerlMonks
Component: not classified yet Version: 0.90
Keywords: context menu, shortcut, accessibility, Gnome, Windows, Scintilla Cc:

Description

The mouse right click is the usual way to trigger the context menu. However, desktop environment also have built-in alternative that work in all native applications:

  • Shift+F10
  • the Menu key on Windows keyboard

At least Gnome and Windows support those two alternatives.

Wx support this feature with the EVT_CONTEXT_MENU.

Status:

  • Gnome on Ubuntu 11.04: neither Shift+F10 nor Menu key works (Shift+F10 sends "ŝ" to the editor)
  • Windows 7: menu key works, but Shift+F10 triggers the default Scintilla menu instead of Padre's menu

Change History

comment:1 Changed 3 years ago by dolmen

Padre support its own alternative "Alt+/", but this is not a common shortcut. Also it requires 3 fingers on a french keyboard, compared to only one for the Menu key so this is not good for accessibility.

Last edited 3 years ago by dolmen (previous) (diff)

comment:2 Changed 3 years ago by szabgab

When I added Alt+/ I did not know about the Shift+F10, feel free to change it and to connect it to EVT_CONTEXT_MENU

comment:3 Changed 3 years ago by dolmen

  • Keywords Windows, Scintilla added; Windows removed

Shift+F10 and the menu key both don't work either in SciTE (the Scintilla demo editor) on Gnome, so the root of the problem is probably in Scintilla.

In fact there is a suspicious #ifdef in Wx::Scintilla: http://padre.perlide.org/trac/browser/trunk/Wx-Scintilla/wx-scintilla/src/scintilla.cpp#L140
I tried to fix this but so far I miserably failed. Even with fixing this, changing EVT_RIGHT_DOWN to EVT_CONTEXT_MENU in Padre::Wx::Editor does not work.

comment:4 Changed 3 years ago by dolmen

SciTE appears to not be Wx-based, so that comparison is probably not relevant.

Note: See TracTickets for help on using tickets.