Ticket #601 (closed enhancement: fixed)

Opened 23 months ago

Last modified 15 months ago

New input handling framework

Reported by: jteh Owned by: jteh
Priority: minor Milestone: 2011.1
Component: Core Version:
Keywords: Cc:
Operating system: Blocked by:
Blocking: #194, #209, #558, #639, #808, #810, #939, #977

Description

NVDA needs a new, flexible input handling framework.

  • It must handle input from sources other than the keyboard; e.g. Braille displays.
    • Multiple variants of a single source should be handled also; e.g. desktop and laptop keyboard layouts.
  • It should allow input from all sources to execute scripts, as well as facilitating keyboard/input help.
  • There should be an input gesture class hierarchy. All input gestures will create an input gesture instance.
  • Scripts should receive an input gesture instance instead of a key press.
  • It should allow scripts common to multiple targets (e.g. say all) to be specified in a single mapping.
  • Users should be able to override all entries without having to edit builtin maps.
  • It should be possible to re-send the gesture for sources which support it. This would be used instead of sendKeyPress.
  • Bindings for all input sources should be specified in the same map file.

Change History

comment:1 Changed 23 months ago by jteh

  • Blocking 194, 209 added

comment:2 Changed 23 months ago by jteh

  • Status changed from new to accepted

comment:3 Changed 23 months ago by jteh

Bzr branch:  http://bzr.nvaccess.org/nvda/inputFramework/
As of rev 3411, keyboardHandler has been changed to use input gestures. However, work hasn't yet begun on the new mapping system.

comment:4 Changed 22 months ago by jteh

  • Blocking 620 added

(In #620) Already fixed as part of the work on the new input framework (#601).

comment:5 Changed 21 months ago by jteh

  • Blocking 639 added

(In #639) This is easy to do. We should also implement shift+ctrl+up/down, since there are ctrl+up/down.

Let's do this after inputFramework, as it will cause merge conflicts otherwise.

comment:6 Changed 21 months ago by jteh

  • Milestone changed from 2010.3 to 2010.2

Probably want to get this into 2010.2, not least because merging it later will be painful.

comment:7 Changed 19 months ago by jteh

  • Milestone changed from 2010.2 to 2010.3

comment:8 Changed 19 months ago by jteh

  • Blocking 620 removed

comment:9 Changed 19 months ago by jteh

  • Blocking 558 added

(In #558) Done as part of input framework.

comment:10 Changed 18 months ago by jteh

  • Blocking 808 added

comment:11 Changed 18 months ago by jteh

  • Blocking 810 added

comment:12 Changed 16 months ago by jteh

  • Blocking 977 added

comment:13 Changed 16 months ago by jteh

As of inputFramework rev 3449, functionality should be equivalent to that in main. Work has not yet begun on the new map file format nor braille input gestures.

comment:14 Changed 16 months ago by jteh

  • Blocking 939 added

comment:15 in reply to: ↑ description Changed 16 months ago by jteh

  • Status changed from accepted to closed
  • Resolution set to fixed

Merged inputFramework in changeset:main,3885.

The new mapping system hasn't yet been implemented. This means that the following features still aren't present:
Replying to jteh:

  • It should allow scripts common to multiple targets (e.g. say all) to be specified in a single mapping.
  • Users should be able to override all entries without having to edit builtin maps.
  • Bindings for all input sources should be specified in the same map file.

However, the core framework (gestures, etc.) is done. Therefore, I'm closing this ticket as fixed. I'll open new tickets/hijack other tickets for features based on this framework.

comment:16 Changed 15 months ago by jteh

  • Blocking 194 removed
Note: See TracTickets for help on using tickets.