mousetweak5

Differences between revisions 24 and 25
Revision 24 as of 2007-07-19 17:41:03
Size: 6874
Editor: vodsl-8882
Comment:
Revision 25 as of 2007-07-19 18:54:49
Size: 6871
Editor: vodsl-9630
Comment:
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
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 in it which of these two modes he wants the single click function to work: 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 in which of these two modes he wants the single click function to work:

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 in which of these two modes 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. This can be seen as an 'automatically select left click type' and ensures that every click will be interpreted by the single click function.
    • As the single click function interprete every click and it only needs one kind of input, it does not make sense to distinguish button1, button2 and button3. Consequently, it is not relevant what button the user uses to input his click; because the single click function treats every button the same way.
    • There is a check box to make the single click

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)