Skip to content

Enhance touchscreen support to expand touchscreen input capabilities. #19938

Description

@kefaslungu

Is your feature request related to a problem? Please describe.

More and more computers these days have touch capabilities, yet NVDA's touchscreen support has not been significantly expanded since it was first introduced. Users coming from iOS VoiceOver or Android TalkBack expect a richer set of gestures, but NVDA only supports basic taps, flicks, and hovers. There is no way to assign actions to gestures that start from a screen edge, perform a directional change in a single stroke, or use a two-finger pinch. This limits the total number of assignable touch gestures.

Describe the solution you'd like

Add three new categories of touch gesture:

Edge gestures

Gestures where the touch begins within a configurable margin of the left, right, or top screen edge. For example, a flick right starting from the left edge is distinct from a flick right starting in the middle of the screen. This allows scripts to be bound to edge-specific gestures.

Sequential flicks (continuous stroke)

Gestures where the user changes direction mid-stroke without lifting their finger. All 12 two-direction combinations are supported:

  • Flick right then left
  • Flick left then right
  • Flick up then down
  • Flick down then up

The remaining 8 are more of an angle kind of gestures:

  • Flick right then up
  • Flick right then down
  • Flick left then up
  • Flick left then down
  • Flick up then right
  • Flick up then left
  • Flick down then right
  • Flick down then left

Pinch in / pinch out

Two-finger gestures where the fingers move toward or away from each other.

Settings

Two new options in the Touch Interaction settings panel:

  • Enable edge gestures checkbox (on by default)
  • Edge gesture margin comboBox: Small (40px), Medium (80px, default), Large (120px)
    • This is because we have different screen sizes and different finger sizes.

Both pinch and Sequential flicks gestures should also work at the edges too, as well as gestures that uses multiple fingers.

Describe alternatives you've considered

Let the current setup remain as it is, but that will mean having very limited set of gestures.

Additional context

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurep5https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions