plover icon indicating copy to clipboard operation
plover copied to clipboard

Shortcuts for moving dictionaries don't work on Windows

Open nvdaes opened this issue 3 years ago • 7 comments

Describe the bug

When pressing alt+d or alt+u on the list of dictionaries contained in the main Window, they aren't moved.

To Reproduce

  1. Open Plover
  2. Ensure that focus is on the list of dictionaries
  3. Press `down arrow`` to place the cursor in the second dictionary
  4. Press alt+u
  5. Repeat the corresponding procedure with alt+dto move dictionaries down

Expected behavior Dictionaries should be moved to change their priority

Screenshots n/a

Operating system

  • OS: Windows 10

  • Plover Version: 4.0.0.dev8+423.g975ba1c

Hardware

Any: Keyboard, Stentura 300 (Italian version).

nvdaes avatar Apr 17 '21 17:04 nvdaes

That's not exactly how those shorcuts are supposed to work, no? On Linux, I can use Alt+e to activate the Edit menu (or use the menu key to trigger the context menu), then press d for example, to trigger the Move dictionaries down action. u for Move dictionaries up does not work however, because it's already used by the Undo action.

benoit-pierre avatar Apr 17 '21 21:04 benoit-pierre

Just notice that the main-shortcut keys u is used twice in the edit menu, that isn't ideal.

user202729 avatar Apr 18 '21 02:04 user202729

@benoit-pierre WROTE:

That's not exactly how those shorcuts are supposed to work, no? On Linux, I can use Alt+e to activate the Edit menu (or use the menu key to trigger the context menu), then press d for example, to trigger the Move dictionaries down action. u for Move dictionaries up does not work however, because it's already used by the Undo action.

I can use alt+e, then u to move up dictionaries in Spanish since u is not repeated. Once the Edit menu is opened, I can use d to move down them. But alt+d and alt+u are reported as shortcuts instead of just u and d. Maybe an issue related to accessibility with screen readers? I use NVDA. I've activated Narrator, the native screen reader for Windows, and it's also reporting alt+d and alt+u, not just d and u as shortcuts. We find several accessibility issues in Plover, but it's perfectly usable. For example, I can use a text editor to edit dicctionaries and so on. I thought that this is something related to Plover itself, but maybe another accessibility issue. I'l copy a fragment of NVDA's log to demonstrate that the mentioned keystrokes are reported as shortcuts.

Input: kb(laptop):downArrow IO - speech.speak (09:31:14.118) - MainThread (1264): Speaking ['Subir diccionarios', 'Alt+u'] DEBUG - NVDAObjects.NVDAObject._get_placeholder (09:31:14.118) - MainThread (1264): Potential unimplemented child class: <NVDAObjects.UIA.MenuItem object at 0x06976630> IO - braille.BrailleBuffer.update (09:31:14.118) - MainThread (1264): Braille regions text: ['Plover vtn ', 'bmn ', 'Editar - Alt+E ', 'mn ', 'Subir diccionarios Alt+u'] IO - braille.BrailleHandler.update (09:31:14.118) - MainThread (1264): Braille window dots: 2347 136 12 24 1235 - 145 24 14 14 24 135 1345 1 1235 24 135 234 - 17 123 2345 235 136 DEBUG - brailleDisplayDrivers.freedomScientific.BrailleDisplayDriver._onReceive (09:31:14.118) - braille._BgThread (8440): Got packet of type b'\x01' with args: b'\x00' b'\x00' b'\x00' IO - inputCore.InputManager.executeGesture (09:31:15.489) - winInputHook (1376): Input: kb(laptop):downArrow IO - speech.speak (09:31:15.524) - MainThread (1264): Speaking ['Bajar diccionarios', 'Alt+d'] DEBUG - NVDAObjects.NVDAObject._get_placeholder (09:31:15.524) - MainThread (1264): Potential unimplemented child class: <NVDAObjects.UIA.MenuItem object at 0x069764D0> IO - braille.BrailleBuffer.update (09:31:15.524) - MainThread (1264): Braille regions text: ['Plover vtn ', 'bmn ', 'Editar - Alt+E ', 'mn ', 'Bajar diccionarios Alt+d'] IO - braille.BrailleHandler.update (09:31:15.524) - MainThread (1264): Braille window dots: 127 1 245 1 1235 - 145 24 14 14 24 135 1345 1 1235 24 135 234 - 17 123 2345 235 145 DEBUG - brailleDisplayDrivers.freedomScientific.BrailleDisplayDriver._onReceive (09:31:15.524) - braille._BgThread (8440): Got packet of type b'\x01' with args: b'\x00' b'\x00' b'\x00' IO - inputCore.InputManager.executeGesture (09:31:18.391) - winInputHook (1376): Input: kb(laptop):escape IO - speech.speak (09:31:18.423) - MainThread (1264): Speaking ['Editar', 'contraído', 'Alt+E'] DEBUG - NVDAObjects.NVDAObject._get_placeholder (09:31:18.423) - MainThread (1264): Potential unimplemented child class: <NVDAObjects.UIA.MenuItem object at 0x069765D0> IO - braille.BrailleBuffer.update (09:31:18.423) - MainThread (1264): Braille regions text: ['Plover vtn ', 'bmn ', 'Editar + Alt+E'] IO - braille.BrailleHandler.update (09:31:18.423) - MainThread (1264): Braille window dots: 157 145 24 2345 1 1235 - 235 - 17 123 2345 235 157 DEBUG - brailleDisplayDrivers.freedomScientific.BrailleDisplayDriver._onReceive (09:31:18.423) - braille._BgThread (8440): Got packet of type b'\x01' with args: b'\x00' b'\x00' b'\x00' IO - inputCore.InputManager.executeGesture (09:31:19.445) - winInputHook (1376): Input: kb(laptop):escape IO - inputCore.InputManager.executeGesture (09:31:20.710) - winInputHook (1376): Input: kb(laptop):alt+d IO - inputCore.InputManager.executeGesture (09:31:21.998) - winInputHook (1376): Input: kb(laptop):alt+u IO - inputCore.InputManager.executeGesture (09:31:24.166) - winInputHook (1376): Input: kb(laptop):NVDA+n IO - speech.speak (09:31:24.290) - MainThread (1264): Speaking ['NVDA', 'menú'] DEBUG - NVDAObjects.NVDAObject._get_placeholder (09:31:24.292) - MainThread (1264): Potential unimplemented child class: <NVDAObjects.IAccessible.IAccessible object at 0x066CB9B0> IO - braille.BrailleBuffer.update (09:31:24.292) - MainThread (1264): Braille regions text: ['NVDA mn'] IO - braille.BrailleHandler.update (09:31:24.293) - MainThread (1264): Braille window dots: 13457 12367 1457 17 - 134 1345 DEBUG - brailleDisplayDrivers.freedomScientific.BrailleDisplayDriver._onReceive (09:31:24.302) - braille._BgThread (8440): Got packet of type b'\x01' with args: b'\x00' b'\x00' b'\x00' IO - inputCore.InputManager.executeGesture (09:31:24.614) - winInputHook (1376): Input: kb(laptop):h IO - speech.speak (09:31:24.674) - MainThread (1264): Speaking ['Ver registro', 'v'] DEBUG - NVDAObjects.NVDAObject._get_placeholder (09:31:24.674) - MainThread (1264): Potential unimplemented child class: <NVDAObjects.IAccessible.IAccessible object at 0x069768D0> DEBUG - NVDAObjects.NVDAObject._get_placeholder (09:31:24.680) - MainThread (1264): Potential unimplemented child class: <NVDAObjects.IAccessible.MenuItem object at 0x069764D0> IO - braille.BrailleBuffer.update (09:31:24.680) - MainThread (1264): Braille regions text: ['Herramientas mn ', 'Ver registro v'] IO - braille.BrailleHandler.update (09:31:24.681) - MainThread (1264): Braille window dots: 1257 15 1235 1235 1 134 24 15 1345 2345 1 234 - 134 1345 - 12367 15 1235 - 1235 15 1245 24 234 2345 1235 135 - 1236 DEBUG - brailleDisplayDrivers.freedomScientific.BrailleDisplayDriver._onReceive (09:31:24.684) - braille._BgThread (8440): Got packet of type b'\x01' with args: b'\x00' b'\x00' b'\x00' IO - inputCore.InputManager.executeGesture (09:31:25.735) - winInputHook (1376): Input: kb(laptop):enter DEBUG - gui.contextHelp.bindHelpEvent (09:31:25.751) - MainThread (1264): Did context help binding for LogViewer

nvdaes avatar Apr 18 '21 07:04 nvdaes

Can't reproduce. If I (hold alt, press e, release e, press d, release d, release alt), the option does work.

At least in the English version.

user202729 avatar Apr 18 '21 08:04 user202729

Can't reproduce. If I (hold alt, press e, release e, press d, release d, release alt), the option does work.

At least in the English version.

Yes, but if I press alt and d at the same time, without releasing them, dictionaries aren't moved, at least for me. And this is expected according with the reported shourcuts, alt+d and alt+u

Cheers Cheers

nvdaes avatar Apr 18 '21 08:04 nvdaes

I guess because those actions are also available from the bottom toolbar, that's why they are reported by your screen reader. I'll check if we can improve the situation, but some of those shortcuts will conflict with the menu top entries...

We find several accessibility issues in Plover, but it's perfectly usable

Please report those, I can't guarantee we'll be able to fix them, but the likelihood that happens if we're not aware of them is pretty much zero.

benoit-pierre avatar Apr 18 '21 14:04 benoit-pierre

@benoit-pierre wrote:

I guess because those actions are also available from the bottom toolbar, that's why they are reported by your screen reader. I'll check if we can improve the situation, but some of those shortcuts will conflict with the menu top entries...

Thanks, this info about the toolbar is very valuable. Knowing about this, I've used my screen reader with its features named review cursor and object navigation to use the toolbar and I can move dicctionaries directly activating the buttons of the toolbar, what means that eventually an NVDA add-on maybe created with commands to activate these buttons, even using alt+d and alt+u or other configurable keystrokes, if you inform that it's diffucult to fix in Plover. I created an NVDA add-on for eMule in collaboration with other NVDA users to activate controls not very accessibles with the system cursor that require the mouse.

We find several accessibility issues in Plover, but it's perfectly usable

Please report those, I can't guarantee we'll be able to fix them, but the likelihood that happens if we're not aware of them is pretty much zero.

OK, I'll report these issues progressively.

Cheers

nvdaes avatar Apr 18 '21 15:04 nvdaes