Skip to content

Instantly share code, notes, and snippets.

@Luzifer
Last active January 9, 2023 07:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Luzifer/a6e03e8f2252b21d855d4ab85d735836 to your computer and use it in GitHub Desktop.
Save Luzifer/a6e03e8f2252b21d855d4ab85d735836 to your computer and use it in GitHub Desktop.
MacBook xorg Config
Section "InputClass"
Identifier "Touchpads"
Driver "mtrack"
MatchIsTouchpad "on"
Option "TrackpadDisable" "0" # Disables trackpad touch input. A value of 1 will enable the trackpad.
# A value of 1 will disable tapping and gestures but not movement. A value
# of 2 will disable all input. A value of 3 will also disable physical
# buttons. Integer. Default is 0.
Option "Sensitivity" "0.20" # Adjusts the sensitivity (movement speed) of the touchpad. This is a real
# number greater than or equal to zero. Default is 1. A value of 0 will
# disable pointer movement.
Option "FingerHigh" "5" # Defines the pressure at which a finger is detected as a touch. This is a
# percentage represented as an integer. Default is 5.
Option "FingerLow" "1" # Defines the pressure at which a finger is detected as a release. This is
# a percentage represented as an integer. Default is 5.
Option "IgnoreThumb" "true" # Whether or not to ignore touches that are determined to be thumbs. Boolean
# value. Defaults to false.
Option "IgnorePalm" "true" # Whether or not to ignore touches that are determined to be palms. Boolean
# value. Defaults to false.
Option "DisableOnThumb" "false" # Whether or not to disable the entire trackpad when a thumb is touching.
# Boolean value. Defaults to false.
Option "DisableOnPalm" "false" # Whether or not to disable the entire trackpad when a palm is touching.
# Boolean value. Defaults to false.
Option "ThumbSize" "25" # The minimum size of what's considered a thumb. It is expected that a thumb
# will be larger than other fingers. This is represented as a percentage of
# the maximum touch value and is dependent on the trackpad hardware. Integer
# value. Defaults to 25.
Option "PalmSize" "40" # The minimum size of what's considered a palm. Palms are expected to be very
# large on the trackpad. This is represented as a percentage of the maximum
# touch value and is dependent on the trackpad hardware. Integer value.
# Defaults to 40.
Option "ThumbRatio" "70" # The width/length ratio of what's considered a thumb. It is expected that a
# thumb is longer than it is wide. This tells the driver how much longer.
# Percentage represented by an integer. Defaults to 70.
Option "EdgeTopSize" "0" # The size of an area at the top of the trackpad where new touches are ignored
# (fingers travelling into this area from the bottom will still be tracked).
# This is represented as a percentage of the total trackpad height. Defaults to 0.
Option "EdgeBottomSize" "10" # The size of an area at the bottom of the trackpad where new touches are ignored
# (fingers travelling into this area from the top will still be tracked).
# This is represented as a percentage of the total trackpad height. Defaults to 10.
Option "EdgeLeftSize" "0" # The size of an area at the left of the trackpad where new touches are ignored
# (fingers travelling into this area from the right will still be tracked).
# This is represented as a percentage of the total trackpad width. Defaults to 0.
Option "EdgeRightSize" "0" # The size of an area at the right of the trackpad where new touches are ignored
# (fingers travelling into this area from the left will still be tracked). This
# is represented as a percentage of the total trackpad width. Defaults to 0.
Option "ButtonEnable" "true" # Whether or not to enable the physical buttons on or near the trackpad. Boolean
# value. Defaults to true.
Option "ButtonIntegrated" "true" # Whether or not the physical buttons are integrated with the trackpad. If you
# have a one-piece trackpad like on newer MacBooks, this should be set to true.
# Button emulation depends on this value being correct. Boolean value. Defaults
# to true.
Option "ButtonMoveEmulate" "false" # Whether or not to count the moving finger when emulating button clicks. Useful
# to disable if you use two hands on trackpad. Boolean value. Defaults to true.
Option "ButtonZonesEnable" "false" # Whether or not to enable button zones. If button zones are enabled then the
# trackpad will be split into one, two, or three vertical zones. Clicking the
# integrated button in one of these zones will send the button event for
# ClickFinger1, ClickFinger2, or ClickFinger3. The driver will only add zones
# for those ClickFinger values that are enabled. So setting ClickFinger1 to 0
# and enabling the other two will create two zones, one for ClickFinger2 and
# one for ClickFinger3. Boolean value. Defaults to false.
Option "ButtonTouchExpire" "100" # How long (in ms) to consider a touching finger as part of button emulation.
# A value of 0 will not expire touches. Integer value. Defaults to 100.
Option "ClickFinger0" "0" # Which button to emulate when no valid finger placement is touching the
# trackpad during a click, as on "EdgeBottom". Integer value. A value of 0
# disables one-touch emulation. Defaults to 0.
Option "ClickFinger1" "1" # Which button to emulate when one finger is touching the trackpad during a
# click. Integer value. A value of 0 disables one-touch emulation. Defaults to 1.
Option "ClickFinger2" "3" # Which button to emulate when two fingers are touching the trackpad during
# a click. Integer value. A value of 0 disabled one-touch emulation. Defaults to 2.
Option "ClickFinger3" "2" # Which button to emulate when three fingers are touching the trackpad during
# a click. Integer value. A value of 0 disabled one-touch emulation. Defaults to 3.
Option "TapButton1" "1" # Which button to emulate for one-finger tapping. Integer value. A value of 0
# disables one-finger tapping. Defaults to 1.
Option "TapButton2" "3" # Which button to emulate for two-finger tapping. Integer value. A value of 0
# disables two-finger tapping. Defaults to 3.
Option "TapButton3" "2" # Which button to emulate for three-finger tapping. Integer value. A value of
# 0 disables three-finger tapping. Defaults to 2.
Option "TapButton4" "0" # Which button to emulate for four-finger tapping. Integer value. A value of
# 0 disables three-finger tapping. Defaults to 0.
Option "ClickTime" "50" # When tapping, how much time to hold down the emulated button. Integer value
# representing milliseconds. Integer value representing miliseconds. Defaults to 50.
Option "MaxTapTime" "120" # The amount of time to wait for incoming touches after first one before counting
# it as emulated button click. Integer value representing milliseconds. Defaults to 120.
Option "MaxTapMove" "400" # How far a touch is allowed to move before counting it is no longer considered
# a tap. Integer value. Defaults to 400.
Option "GestureClickTime" "10" # When a gesture triggers a click, how much time to hold down the emulated
# button. Integer value representing milliseconds. Defaults to 10.
Option "GestureWaitTime" "100" # Touches are allowed to transition from one gesture to another. For example,
# you may go from scrolling to swiping without releasing your fingers from the
# pad. This value is the amount of time you must be performing the new gesture
# before it is triggered. This prevents accidental touches from triggering other
# gestures. Integer value representing milliseconds. Defaults to 100.
Option "ScrollDistance" "150" # For two finger scrolling. How far you must move your fingers before a button
# click is triggered. Integer value. Defaults to 150.
Option "ScrollClickTime" "20" # For two finger scrolling. How long button triggered by scrolling will be hold
# down. A value of 0 will hold button down till end of gesture. 0 - emit button
# click only once pre "instance" of gesture. Integer value representing
# milliseconds. Defaults to 20.
Option "ScrollSensitivity" "0" # For two finger scrolling. Sensitivity (movement speed) of pointer during two
# finger scrolling. A value of 0 disables pointer movement during gesture. Integer
# value expressed as parts per thousand of normal sensivity. A value of 1000
# results with normal movement speed. Defaults to 0.
Option "ScrollUpButton" "5" # For two finger scrolling. The button that is triggered by scrolling up. Integer
# value. A value of 0 disables scrolling up. Defaults to 4.
Option "ScrollDownButton" "4" # For two finger scrolling. The button that is triggered by scrolling down.
# Integer value. A value of 0 disables scrolling down. Defaults to 5.
Option "ScrollLeftButton" "7" # For two finger scrolling. The button that is triggered by scrolling left.
# Integer value. A value of 0 disables scrolling left. Defaults to 6.
Option "ScrollRightButton" "6" # For two finger scrolling. The button that is triggered by scrolling right.
# Integer value. A value of 0 disables scrolling right. Defaults to 7.
Option "ScrollSmooth" "1" # For two finger scrolling. Whether to generate high precision scroll events.
# Boolean value. Defaults to 1. Property: "Trackpad High Smooth Scroll"
Option "ScrollCoastDuration" "200" # How long after finished scrolling movement should be continued. Works only
# with smooth scrolling enabled. Floating value representing miliseconds.
# Defaults to 200.0. Property: "Trackpad Scroll Coasting"
Option "ScrollCoastEnableSpeed" "0.1" # How fast scroll should be to enable coasting feature. Floating value.
# Defaults to 0.1. Property: "Trackpad Scroll Coasting"
Option "SwipeDistance" "700" # For three finger swiping. How far you must move your fingers before a button
# click is triggered. Integer value. Defaults to 700.
Option "SwipeClickTime" "300" # For three finger swiping. How long button triggered by swiping will be
# hold down. Integer value representing milliseconds. Defaults to 300.
Option "SwipeSensitivity" "0" # For three finger scrolling. Sensitivity (movement speed) of pointer during
# three finger scrolling. A value of 0 disables pointer movement during
# gesture. Integer value expressed as parts per thousand of normal sensivity.
# A value of 1000 results with normal movement speed. Defaults to 0.
Option "SwipeUpButton" "8" # For three finger swiping. The button that is triggered by swiping up.
# Integer value. A value of 0 disables swiping up. Defaults to 8.
Option "SwipeDownButton" "9" # For three finger swiping. The button that is triggered by swiping down.
# Integer value. A value of 0 disables swiping down. Defaults to 9.
Option "SwipeLeftButton" "10" # For three finger swiping. The button that is triggered by swiping left.
# Integer value. A value of 0 disables swiping left. Defaults to 10.
Option "SwipeRightButton" "11" # For three finger swiping. The button that is triggered by swiping right.
# Integer value. A value of 0 disables swiping right. Defaults to 11.
Option "Swipe4Distance" "700" # For four finger swiping. How far you must move your fingers before a
# button click is triggered. Integer value. Defaults to 700.
Option "Swipe4ClickTime" "300" # For four finger swiping. How long button triggered by swiping will be
# hold down. Integer value representing milliseconds. Defaults to 300.
Option "Swipe4Sensitivity" "0" # For four finger scrolling. Sensitivity (movement speed) of pointer during
# four finger scrolling. A value of 0 disables pointer movement during
# gesture. Integer value expressed as parts per thousand of normal
# sensivity. A value of 1000 results with normal movement speed. Defaults to 0.
Option "Swipe4UpButton" "8" # For four finger swiping. The button that is triggered by swiping up. Integer
# value. A value of 0 disables swiping up. Defaults to 8.
Option "Swipe4DownButton" "9" # For four finger swiping. The button that is triggered by swiping down.
# Integer value. A value of 0 disables swiping down. Defaults to 9.
Option "Swipe4LeftButton" "10" # For four finger swiping. The button that is triggered by swiping left.
# Integer value. A value of 0 disables swiping left. Defaults to 10.
Option "Swipe4RightButton" "11" # For four finger swiping. The button that is triggered by swiping right.
# Integer value. A value of 0 disables swiping right. Defaults to 11.
Option "EdgeScrollDist" "105" # For one finger edge scrolling. How far you must move your finger on edge
# before a button click is triggered. Integer value. Defaults to 150.
Option "EdgeScrollClickTime" "20" # For one finger edge scrolling. How long button triggered by edge scrolling
# will be hold down. A value of 0 will hold button down till end of gesture.
# 0 - emit button click only once pre "instance" of gesture. Integer
# value representing milliseconds. Defaults to 20.
Option "EdgeScrollSensitivity" "0" # For one finger edge scrolling. Sensitivity (movement speed) of pointer
# during one finger scrolling. A value of 0 disables pointer movement during
# gesture. Integer value expressed as parts per thousand of normal sensivity.
# A value of 1000 results with normal movement speed. Defaults to 0.
Option "EdgeScrollUpButton" "4" # For one finger edge scrolling. The button that is triggered by edge
# scrolling up. Integer value. A value of 0 disables scrolling up. Defaults
# to 4.
Option "EdgeScrollDownButton" "5" # For one finger edge scrolling. The button that is triggered by edge
# scrolling down. Integer value. A value of 0 disables scrolling down.
# Defaults to 5.
Option "EdgeScrollLeftButton" "6" # For one finger edge scrolling. The button that is triggered by edge
# scrolling left. Integer value. A value of 0 disables scrolling left.
# Defaults to 6.
Option "EdgeScrollRightButton" "7" # For one finger edge scrolling. The button that is triggered by edge
# scrolling right. Integer value. A value of 0 disables scrolling right.
# Defaults to 7.
Option "ScaleDistance" "150" # For pinch scaling. How far you must move your fingers before a button
# click is triggered. Integer value. Defaults to 150.
Option "ScaleUpButton" "12" # For pinch scaling. The button that is triggered by scaling up. Integer
# value. A value of 0 disables scaling up. Defaults to 12.
Option "ScaleDownButton" "13" # For pinch scaling. The button that is triggered by scaling down.
# Integer value. A value of 0 disables scaling down. Defaults to 13.
Option "RotateDistance" "150" # For two finger rotation. How far you must move your fingers before a
# button click is triggered. Integer value. Defaults to 150.
Option "RotateLeftButton" "14" # For two finger rotation. The button that is triggered by rotating left.
# Integer value. A value of 0 disables rotation left. Defaults to 14.
Option "RotateRightButton" "15" # For two finger rotation. The button that is triggered by rotating right.
# Integer value. A value of 0 disables rotation right. Defaults to 15.
Option "Hold1Move1StationaryButton" "1" # For two finger hold-and-move functionality. The button that is triggered
# by holding one finger and moving another one. Integer value. A value of
# 0 disables hold-and-move. Value of 0 disables this functionality.
# Defaults to 1.
Option "Hold1Move1StationaryMaxMove" "20" # For two finger hold-and-move functionality. Fow far stationary finger
# can be moved berfore gesture invalidation. Integer value. Defaults to 20.
Option "TapDragEnable" "true" # Whether or not to enable tap-to-drag functionality. Boolean value.
# Defaults to true.
Option "TapDragTime" "350" # The tap-to-drag timeout. This is how long the driver will wait after a
# single tap for a movement event before sending the click. Integer value
# representing milliseconds. Defaults to 350.
Option "TapDragWait" "40" # How long after detecting movement to trigger a button down event. During
# this time pointer movement will be disabled. Increase this value if you
# find you're draggin when you don't wish it. Integer value representing
# milliseconds. Defaults to 40.
Option "TapDragDist" "200" # How far the finger is allowed to move during drag wait time. If the
# finger moves farther than this distance during the wait time then dragging
# will be canceled and pointer movement will resume. Integer value.
# Defaults to 200.
Option "TapDragLockTimeout" "500" # This is how long the driver will wait after initial drag in 'drag ready'
# state in which it will be able to resume previous drag without
# additional up, down sequence. Value of 0 disables this functionality.
# Values less than zero will make mtrack requre additional tap to
# finish drag by sending button up. Integer value representing
# milliseconds. Defaults to 500.
Option "AxisXInvert" "false" # Whether or not to invert the X axis. Boolean value. Defaults to false.
Option "AxisYInvert" "false" # Whether or not to invert the Y axis. Boolean value. Defaults to false.
EndSection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment