mousetweak5

Revision 17 as of 2007-07-19 14:56:38

Clear message

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

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)

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 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 generated 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 generated 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. Indeed, after the buttonup of the user's first click, the single click function generates a simulated left buttondown with the coordinates of the user's buttondown; the state of the simulated left button remains down until the buttonup of the user's second click ends the simulated left buttondown by generating the correspondent simulated left buttonup; the simulated left buttonup coordinates being the same as the coordinates of the user's second buttondown.
  • simulation of right click: the buttonup of the user's click generates a simulated right click with the user's buttondown coordinates; this ends the simulated right click. (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).

Implementation

UI Changes

Code Changes

Migration

Test/Demo Plan

Outstanding Issues

BoF agenda and discussion


CategorySpec