Configuring mtouch filter subsection

The mtouch filter subsection specifies the configuration to apply to the filters of touch devices supported by the platform.

This section must begin with begin filter and end with end filter.

Below is an example of a filter section of a graphics.conf file.
begin filter
   type = edge_swipe_detect
   options = xl_bezel=50,xl_speed=20,xh_bezel=50,xh_speed=20,yl_bezel=80,yl_speed=20,yh_bezel=50,yh_speed=20,filter_order=2
end filter
   

Parameters

The following are valid parameters that can be configured under the filter subsection:

Parameter Description Type Possible value(s)
type The series of filters that are applied to the touch coordinates. Integer
ballistic
Minimizes the noise normally seen on successive touch events that follow a low-speed ballistic trajectory. The lower the speed of the ballistic movement (e.g., a stationary finger), the more gain reduction is applied to the speed of the movement. By doing so, the result is a solid touch with no noise.
edge_swipe_detect
Detects the passing of a finger over the edge of the touch surface. This lets you get swipe gestures starting from outside the screen.
kalman
Minimizes the tracking noise of a moving finger on a given touch surface by use of the Kalman filter algorithm.
options

Filter-specific options. The available filter options depend on the filter type. The format for configuring the filter options is:

options= filter_option=value

or, if there are multiple options to specify, then separate each option-value pair by a comma:

options= filter_option1=value,filter_option2=value

String

Based on your filter type, see below for the valid filter options.

Filter options

Valid filter options for configuration depend on the filter type. See below for the filter options that are acceptable in the options parameter for the mtouch filter subsection.

Ballistic filter (e.g., type = ballistic)
Filter option Description Default
scale FP scale factor 256
min_gain Minimal gain 8
low_speed Low speed threshold 32
Edge-swipe filter (e.g., type = edge_swipe_detect)
Table 1. Filter order
Filter option Description Default
filter_order Filter Order 2
Table 2. Left edge (e.g., when the x touch coordinate is 0)
Filter option Description Default
xl_enable Apply detection 1
xl_bezel Bezel width 50
xl_speed Speed threshold 25
xl_jitter Jitter control 0
xl_reject_physical_bezel Reject physical bezel 0
Table 3. Right edge (e.g., when the x touch coordinate is at the maximum possible value)
Filter option Description Default
xh_enable Apply detection 1
xh_bezel Bezel width 50
xh_speed Speed threshold 25
xh_jitter Jitter control 0
xh_reject_physical_bezel Reject physical bezel 0
Table 4. Top edge (e.g., when the y touch coordinate is 0)
Filter option Description Default
yl_enable Apply detection 1
yl_bezel Bezel width 80
yl_speed Speed threshold 25
yl_jitter Jitter control 0
yl_reject_physical_bezel Reject physical bezel 0
Table 5. Bottom edge (e.g., when the y touch coordinate is at the maximum possible value)
Filter option Description Default
yh_enable Apply detection 1
yh_bezel Bezel width 50
yh_speed Speed threshold 25
yh_jitter Jitter control 0
yh_reject_physical_bezel Reject physical bezel 0
Note: The edge-swipe filter options nomenclature is:
  • xl: x-low border, near x=0;
  • xh: x-high border, near x=maximal X touch coordinate;
  • yl: y-low border, near y=0;
  • yh: y-high border, near y=maximal Y touch coordinate;
Kalman filter (e.g., type = kalman)
Table 6. Noise variance
Filter option Description Default
proc_noise_x_var Process noise variance (X) 32
proc_noise_y_var Process noise variance (Y) 32
meas_noise_x_var Measurement noise variance(X) 100
meas_noise_y_var Measurement noise variance (Y) 100
Table 7. Adaptive speed threshold
Filter option Description Default
slot_threshold_1 Adaptive speed threshold 1 30
slot_threshold_2 Adaptive speed threshold 2 20
slot_threshold_3 Adaptive speed threshold 3 10
slot_threshold_4 Adaptive speed threshold 4 5