mousetweak5

Differences between revisions 11 and 12
Revision 11 as of 2007-07-18 18:38:39
Size: 4019
Editor: vodsl-9175
Comment:
Revision 12 as of 2007-07-18 20:10:34
Size: 4560
Editor: vodsl-9175
Comment:
Deletions are marked like this. Additions are marked like this.
Line 38: Line 38:
 * simulation of left click: a left click is send on the user's buttonup
 * simulation of double click: a double click is send on the user's buttonup
 * simulation of drag click: this needs two clicks from the user: one to start the drag, the second to end the drag. More precisely: after the buttonup of the user's first click, the single click function sends a simulated left buttondown with the coordinates of the user's buttondown to the application; the buttonup of the user's second click ends the simulated left buttondown by sending the correspondent simulated left buttonup to the application.
 * simulation of right click: this needs two clicks from the user: the first click from the user opens the contextual menu; afterwards the user can navigate to select the menuitem that he wants; a second click from the user ends the simulated right click by sending a left click at the buttondown location of the second click.
 * simulation of left click: a simulated left click is send on the buttonup of user's click; the simulated left click has the same coordinates as the user's buttomdown.
 * simulation of double click: a simulated double click is send on the buttonup of user's click; the simulated double click has the same coordinates as the user's buttomdown.
 * simulation of drag click: this needs two clicks from the user: one to start the drag, the second to end the drag. More precisely: after the buttonup of the user's first click, the single click function sends a simulated left buttondown with the coordinates of the user's buttondown to the application; the state of the simulated left button remains down until the buttonup of the user's second click ends the simulated left buttondown by sending the correspondent simulated left buttonup to the application; the simulated left buttonup coordinates being the same as the coordinates of the user's second buttondown.
 * simulation of right click: this needs two clicks from the user: the buttonup of the user's first click sends a simulated right click with the user's buttondown coordinates to the application; this opens the contextual menu at those coordinates, if a contextual menu is available, otherwise the right ; afterwards the user can navigate to select the menuitem that he wants; a second click from the user ends the simulated right click by sending a left click at the buttondown location of the second click.

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 doing only 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

Please, have a look at the following sample GUI of the preferences of the single click:

inline:SingleClickConfigurationTabV03new.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 what click type to simulate:

  • 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)

If a click type is selected in the ctw or cta, the selected click type will be triggered at the location of the user's buttondown right after the user has released the button (in other words after the user's button up). More precisely:

  • simulation of left click: a simulated left click is send on the buttonup of user's click; the simulated left click has the same coordinates as the user's buttomdown.
  • simulation of double click: a simulated double click is send on the buttonup of user's click; the simulated double click has the same coordinates as the user's buttomdown.
  • simulation of drag click: this needs two clicks from the user: one to start the drag, the second to end the drag. More precisely: after the buttonup of the user's first click, the single click function sends a simulated left buttondown with the coordinates of the user's buttondown to the application; the state of the simulated left button remains down until the buttonup of the user's second click ends the simulated left buttondown by sending the correspondent simulated left buttonup to the application; the simulated left buttonup coordinates being the same as the coordinates of the user's second buttondown.
  • simulation of right click: this needs two clicks from the user: the buttonup of the user's first click sends a simulated right click with the user's buttondown coordinates to the application; this opens the contextual menu at those coordinates, if a contextual menu is available, otherwise the right ; afterwards the user can navigate to select the menuitem that he wants; a second click from the user ends the simulated right click by sending a left click at the buttondown location of the second 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)