mousetweak5

Differences between revisions 1 and 22 (spanning 21 versions)
Revision 1 as of 2007-07-17 15:22:19
Size: 2623
Editor: vodsl-7980
Comment:
Revision 22 as of 2007-07-19 16:04:38
Size: 6364
Editor: vodsl-8882
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
The mousetweaks already offer dwelling, so that users that are not able to do clicks with hardware devices are able to simulate clicks with software. But what about users that would be able to push a button, but do not have the dexterity to do a proper left click, double click, right click or drag&drop? This mousetweak will offer these users a way to simulate the 4 click types by doing only simple clicks. The mousetweaks already offer dwelling, so that users that are not able to do clicks with hardware devices are able to simulate clicks with software. But what about users that would be able to push a button, but do not have the dexterity to do a proper left click, double click, right click or drag&drop? This mousetweak will offer these users a way to simulate the 4 click types by only doing simple clicks.
Line 18: Line 18:

 * Jane is able to do button clicks, but has problems to keep the button pressed when she wants to do drag and drops. She would be grateful if she could start the drag and drop with a single click and terminate it with a second single click.

 * William has problems to do proper clicks: sometimes his clicks are to long, sometimes they are followed by an unwillful click,... He would appreciate if there was software that would catch his unperfect clicks and translate them into proper left clicks, double clicks, right clicks and drag&drops.
Line 23: Line 27:
You can have subsections that better describe specific parts of the issue. In the following, we will call 'software click', a click generate by the single click function. Please, have a look at the following sample GUI of the preferences of the single click function:

inline:SingleClickConfigurationTabV04.png


The user can active the single click fonctionality by enabling the correspondent checkbox.
 * It does not make sense to enable the single click fonctionality when the dwell click or the delay click are running. Consequently, the activation routine will have to warn the user that the activation of the single click will disable the dwell click and the delay click, and ask for confirmation.


The user has 2 ways to indicate to the single click fonctionality if the software has to transform his next click into a left click, double click, drag click or right:
 * a floating resizeble window with 4 buttons (one for each click type) that the user can move and resize on the desktop; let us call it click type window (ctw)
 * an applet on the panel that shows 4 buttons, for users that do not want to cover the screenspace with the ctw; let us call it the click type applet (cta)
The ctw and cta have to be always synchronized when both are simultaneously open. In other words, if the user selects a click type in the ctw, the same click type will automatically be selected in the cta; and vice versa.


In the preferences, there are two radio buttons to indicate to the single click function whether the buttondown or the buttonup of the user's click will trigger the software click. This way, the user can choose the way that is more appropriate to his skills.


If a click type is selected in the ctw or cta, the user's click will generate the selected software click at the location of the user's mousedown. More precisely:
 * software left click: The user's click will generate a software left click at the location of the user's mousedown
 * software double click: The user's click will generate a software double click at the location of the user's mousedown
 * software drag click: This needs two clicks from the user; one to start the drag, the second to end the drag. Indeed, the user's first click will generate a software left buttondown with the coordinates of the user's buttondown; the state of the software left button remains to down until the user clicks for a second time: so the user has all the time that he wants to drag the item around as long as he does not click for a second time; the user's second click ends the software left buttondown state by generating the correspondent software left buttonup with the same coordinates as the buttondown of the user's second click.
 * software right click: The user's click generates a software right click with the user's buttondown coordinates. (This ends the simulated right click; but it does not end the selection of a contextual menu item, which is not part of the simulated right click; it is done by the following left click).


Some users need the single click function only to generate certain types of click; others will need it for every click. The preferences of the single click function offers two radio buttons, where the user has to indicate which of these two ways he wants the single click function to work:
 * If the user chooses that the single click function has to generate clicks only if a click type is selected, the function will behave like this:
  * As long as the user does not select a click type in the ctw or cta, the single click function does not interfere.
  * If the user selects a click type by clicking on a button in the ctw or cta, the next click (or next two clicks if drag click has been selected) of the user will cause the single function to generate the selected click type. Right after the generation of the click, the single click function will automatically deselect all click types in the ctw and cta.
  * If the user selects a click type and changes his mind before he has performed any click, he can unselect it again by clicking another time on the correspondent button in the ctw or cta.
 * If the user chooses that he wants the single click function to always generate software clicks, the single click function will behave like this:
  * Every click that the user performs will be interpreted by the single click function.
  * After the generation of each software click, the single click function will automatically select the left click type in the ctw and cta.

Line 27: Line 65:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
Line 30: Line 66:

Should cover changes required to the UI, or specific UI that is required to implement this
Line 35: Line 69:
Code changes should include an overview of what needs to change, and in some cases even the specific details.
Line 38: Line 70:

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
Line 46: Line 73:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.
Line 51: Line 74:

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
Line 56: Line 77:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

It has occurred to me that a fifth mousetweak could be added to the already existing 4 mousetweaks. As the 4 original mousetweaks are already under development, it might be better to write the new mousetweak into a page of its own.

Summary

This fifth mousetweak will offer users a way to simulate the 4 click types by doing only simple clicks. We might call it Single Click in analogy to the names of the other features of mousetweaks.

Release Note

This new mousetweak represents an additional function that should be added to the already existing 4 mousetweaks.

Rationale

The mousetweaks already offer dwelling, so that users that are not able to do clicks with hardware devices are able to simulate clicks with software. But what about users that would be able to push a button, but do not have the dexterity to do a proper left click, double click, right click or drag&drop? This mousetweak will offer these users a way to simulate the 4 click types by only doing simple clicks.

Use Cases

  • Jane is able to do button clicks, but has problems to keep the button pressed when she wants to do drag and drops. She would be grateful if she could start the drag and drop with a single click and terminate it with a second single click.
  • William has problems to do proper clicks: sometimes his clicks are to long, sometimes they are followed by an unwillful click,... He would appreciate if there was software that would catch his unperfect clicks and translate them into proper left clicks, double clicks, right clicks and drag&drops.

Assumptions

Design

In the following, we will call 'software click', a click generate by the single click function. Please, have a look at the following sample GUI of the preferences of the single click function:

inline:SingleClickConfigurationTabV04.png

The user can active the single click fonctionality by enabling the correspondent checkbox.

  • It does not make sense to enable the single click fonctionality when the dwell click or the delay click are running. Consequently, the activation routine will have to warn the user that the activation of the single click will disable the dwell click and the delay click, and ask for confirmation.

The user has 2 ways to indicate to the single click fonctionality if the software has to transform his next click into a left click, double click, drag click or right:

  • a floating resizeble window with 4 buttons (one for each click type) that the user can move and resize on the desktop; let us call it click type window (ctw)
  • an applet on the panel that shows 4 buttons, for users that do not want to cover the screenspace with the ctw; let us call it the click type applet (cta)

The ctw and cta have to be always synchronized when both are simultaneously open. In other words, if the user selects a click type in the ctw, the same click type will automatically be selected in the cta; and vice versa.

In the preferences, there are two radio buttons to indicate to the single click function whether the buttondown or the buttonup of the user's click will trigger the software click. This way, the user can choose the way that is more appropriate to his skills.

If a click type is selected in the ctw or cta, the user's click will generate the selected software click at the location of the user's mousedown. More precisely:

  • software left click: The user's click will generate a software left click at the location of the user's mousedown
  • software double click: The user's click will generate a software double click at the location of the user's mousedown
  • software drag click: This needs two clicks from the user; one to start the drag, the second to end the drag. Indeed, the user's first click will generate a software left buttondown with the coordinates of the user's buttondown; the state of the software left button remains to down until the user clicks for a second time: so the user has all the time that he wants to drag the item around as long as he does not click for a second time; the user's second click ends the software left buttondown state by generating the correspondent software left buttonup with the same coordinates as the buttondown of the user's second click.
  • software right click: The user's click generates a software right click with the user's buttondown coordinates. (This ends the simulated right click; but it does not end the selection of a contextual menu item, which is not part of the simulated right click; it is done by the following left click).

Some users need the single click function only to generate certain types of click; others will need it for every click. The preferences of the single click function offers two radio buttons, where the user has to indicate which of these two ways he wants the single click function to work:

  • If the user chooses that the single click function has to generate clicks only if a click type is selected, the function will behave like this:
    • As long as the user does not select a click type in the ctw or cta, the single click function does not interfere.
    • If the user selects a click type by clicking on a button in the ctw or cta, the next click (or next two clicks if drag click has been selected) of the user will cause the single function to generate the selected click type. Right after the generation of the click, the single click function will automatically deselect all click types in the ctw and cta.
    • If the user selects a click type and changes his mind before he has performed any click, he can unselect it again by clicking another time on the correspondent button in the ctw or cta.
  • If the user chooses that he wants the single click function to always generate software clicks, the single click function will behave like this:
    • Every click that the user performs will be interpreted by the single click function.
    • After the generation of each software click, the single click function will automatically select the left click type in the ctw and cta.

Implementation

UI Changes

Code Changes

Migration

Test/Demo Plan

Outstanding Issues

BoF agenda and discussion


CategorySpec

Accessibility/Specs/MouseTweaks/mousetweak5 (last edited 2008-08-06 16:13:35 by localhost)