Right Click processing


In the majority of cases touching a touch screen or similar device will normally be the equivalent of generating a mouse left click when used in single touch operation. This is more commonly referred to a 'Click and drag mode' of operation. There are other click modes available as described here.

However, in some cases it is also desirable to be able to generate a right click via touch. With UPDD there are a number of possible methods.

‚ÄčIt was discovered that right click processing was not working in Linux which we investigated and corrected in UPDD release 6.0.569. In tests we subsequently conducted in RHEL 7.2 with Gnome windows manager we could only get the right click to occur on the task bar and not the desktop albeit a real mouse was able to generate a right click. We do not know why 'touch' generated right click events are not being processed but it could be a distribution release bug or Gnome windows manager issue.

Driver Interface

When the core driver 'mouse' interface is posting touch data it, by default, generates a right click when the stylus is held steady for a period of time. We refer to this mode of operation as 'Interactive Touch' and is a combination of click and drag plus right click processing. There are a number of settings that relate to this feature as described here.

However, if you are using a different system interface to post touch data into the OS then that interface must be responsible for generating the right click.

Extended touch interface

When an extended touch interface is being used to post touch data right click processing is handled as described below.

Windows VHID interface

If, under Windows, the UPDD Virtual HID interface is utilised then Windows will generate a right click when a single touch is held steady for a period of time.

For delta mode and slow data rate controllers the driver will inject touch packets to satisfy the data rate expected by Windows.

This setting can be changed and tested via the Windows Control panel, thus:

Mac OS Gesture interface 

If, under Mac OS, UPDD Gestures is handling touches then an appropriate gestures needs to be set for right click processing as required. This is normally achieved by setting the Press gesture to generate a right click.

Linux uinput interface

For uinput, the driver creates a virtual device to pass right click requests.

Visual feedback

When using the driver (in all OS) or Press gesture (in Mac OS) or uinput (in Linux) to generate a right click they have separate options to enable visual feedback such that you are given a 'visual countdown' leading up to the right click, which occurs when the circle drawing is complete:

Under Linux the success of the visual feedback is dependent on the distribution is use.  We have seen it work as expected, draw with a black background and fail to draw.

This visual feedback can be disabled by setting the setting 'interactive_touch.visual' to 0 as described here.

Summary

The table below indicates what is handling the right click in the various OS.

OS Core driver interface   Extended touch
 Windows  Interactive Touch  Windows function
 MacOS  Interactive Touch  Gestures function
 Linux  Interactive Touch  Interactive touch

Disabling right click processing

In some cases it may be desirable to disable right click processing, especially with applications that need a press and hold to activate a certain function.

This can be achieved as follows:

Windows  
 Driver interface Set the touch interface to tbupddsu and disable UPDD's right click processing:
upddutils set active_touch_interface tbupddsu (set simple mouse touch)
upddutils nodevice set interactive_touch 0 (disable right click function)
 Virtual HID interface As per the dialog for setting Right Click processing shown above just uncheck the checkbox to disable the right click function 
MacOS  
 Driver Interface Set the touch interface to simpletouch (or simpletouch_cg) and disable UPDD's right click processing:
upddutils set active_touch_interface simpletouch (set simple mouse touch)
upddutils nodevice set interactive_touch 0 (disable right click function)
 Gestures If, under Mac OS, UPDD Gestures is handling touches then the Press gesture should not be set to generate a right click.
Linux  
 X interface Set the touch interface to xtouch and disable UPDD's right click processing:
upddutils set active_touch_interface xtouch (set X interface)
upddutils nodevice set interactive_touch 0 (disable right click function)
 uinput To follow
Search