Skip to content

Using gesture.send deactivates unwantedly NumLock #10827

@CyrilleB79

Description

@CyrilleB79

Steps to reproduce:

  1. Create the following script in the scratchpad/globalPlugins folder:
import globalPluginHandler
import ui
from scriptHandler import script

class GlobalPlugin(globalPluginHandler.GlobalPlugin):
	
	@script(
		gesture = "kb:numlock+numpadmultiply",
		description = "Test123"
	)
	def script_test123(self, gesture):
		ui.message('Pressing *')
		gesture.send()
		
  1. Open notepad
  2. Press NumLock to activate it if not already
  3. Press numlockMultiply key.

Actual behavior:

The '*' character is issued thanks to gesture.send() in the script. And the NumLock is deactivated.

Expected behavior:

The '*' character is issued thanks to gesture.send() in the script. And NumLock should remain activated.

Background

This test script aims to highlight the issue I have with the Windows Magnifier add-on I am currently developping. The current release (1.0-dev-20200225).
When the user has numlock active, if he press Windows+Plus, the zomm occurs and is vocalized correctly but, as a side effect, numlock is de-activated.

Additional comments

  • The same issue occurs by mapping an existing script that uses gesture.send() in the input gesture dialog.
  • If this issue cannot be fixed or during the time waiting for a fix, a workaround suggestion to handle this issue in my add-on would be welcome.
  • If anyone has tips to fix this issue, feel free to share; I would gladly make a PR to NVDA.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2019.3.1

Windows version:

10

Name and version of other software in use when reproducing the issue:

N/A

Other information about your system:

N/A

Other questions

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

2019.2.1. Issue already present.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions