# This file is part of systemd.
#
# Database for the DPI setting of mice, trackballs, other pointer devices that
# cannot be queried directly.
#
# The lookup keys are composed in:
#   70-mouse.rules
#
# Note: The format of the "mouse:" prefix match key is a contract between the
# rules file and the hardware data, it might change in later revisions to
# support more or better matches, it is not necessarily expected to be a stable
# ABI.
#
# Match key format:
# mouse:<subsystem>:v<vid>p<pid>:name:<name>:
#
# Supported subsystems: usb, bluetooth
# vid/pid as 4-digit hex lowercase vendor/product
#
# if vid/pid is unavailable, use
#   mouse:*:name:<name>:*
# if name is unavailable, use
#   mouse:<subsystem>:v<vid>p<pid>:*
#
# For example, the following 5 matches all match the same mouse:
#   mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:*
#   mouse:usb:*:name:Lenovo Optical USB Mouse:*
#   mouse:usb:v17efp6019:*
#   mouse:*:name:Lenovo Optical USB Mouse:*
#
# All matches should end in ':*' to allow future expansions of the match key.
#
# To add local entries, create a new file
#   /etc/udev/hwdb.d/71-mouse-local.hwdb
# and add your rules there. To load the new rules execute (as root):
#   systemd-hwdb update
#   udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the mouse in question. If in doubt, simply use
# /dev/input/event* to reload all input rules.
#
# If your changes are generally applicable, preferably send them as a pull
# request to
#   https://github.com/systemd/systemd
# or create a bug report on https://github.com/systemd/systemd/issues and
# include your new rules, a description of the device, and the output of
#   udevadm info /dev/input/eventXX.
#
# Allowed properties are:
#   ID_INPUT_TRACKBALL
#   MOUSE_DPI
#   MOUSE_WHEEL_CLICK_ANGLE
#   MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
#   MOUSE_WHEEL_CLICK_COUNT
#   MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
#
#########################################
#         ID_INPUT_TRACKBALL            #
#########################################
#
# Specified *in additition* to ID_INPUT_MOUSE if the device is a trackball.
# Removing ID_INPUT_MOUSE will break backwards compatibility.
#
#########################################
#               MOUSE_DPI               #
#########################################
#
# DPI settings are specified as
#   MOUSE_DPI=<dpi>[@<frequency>]
#
# Where <dpi> is the resolution in dots per inch, and <frequency> the
# sampling frequency in Hz (optional). If a device supports dynamic
# frequency scaling, the maximum frequency should be used. For devices
# supporting multiple fixed frequencies, see below.
#
# The value of MOUSE_DPI is:
# - a single integer for single-resolution mice, e.g.
#   MOUSE_DPI=800
#   or, if the frequency is known:
#   MOUSE_DPI=800@120
# - a space-separated list of resolutions for multi-resolution mice.
#   The default resolution must be prefixed by an asterisk, the resolutions
#   in the database must be as shipped by the manufacturer. e.g.
#   MOUSE_DPI=400 *800 2000
#
#   The order of resolutions is as configured by the HW manufacturer or in
#   ascending order, whichever appropriate.
#
#   The frequency must be given to either none or all resolutions. If the
#   device supports multiple fixed frequencies, the order of items is
#   MOUSE_DPI=r1@f1 r2@f1 r3@f1 r1@f2 r2@f2 r3@f2
#
#   If the default manufacturer-set resolution is unclear, a resolution of
#   800 or 1000 should be set as default, if available. If neither is
#   available, choose the "middle" resolution value of those available.
#
#   The list may contain a single item which must be marked with an
#   asterisk.
#
# Local changes to the non-default resolution of the mouse (e.g. through
# third-party software) must not be entered into this file, use a local
# hwdb instead.
#
#########################################
#       MOUSE_WHEEL_CLICK_ANGLE         #
#########################################
#
# The angle in degrees per mouse wheel 'click', specified as
#     MOUSE_WHEEL_CLICK_ANGLE=<degrees>
#
# Most mice have a 15 degree click stop (24 clicks per full rotation).
# For backwards-compatibility, the click angle must be an integer.
# Where a device has non-integer click angles, the MOUSE_WHEEL_CLICK_COUNT
# property should also be specified.
#
#########################################
#   MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL  #
#########################################
#
# Identical to MOUSE_WHEEL_CLICK_ANGLE but for the horizontal scroll wheel.
# This property may only be specified if the angle for the horizontal
# scroll wheel differs from the vertical wheel. If so, *both* click angles
# must be specified.
#
#########################################
#   MOUSE_WHEEL_CLICK_COUNT             #
#   MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL  #
#########################################
#
# The number of clicks the wheel sends per 360 degree rotation. This
# property should only be used where the click angle is not an integer.
# For backwards compatibility it must be specified in addition to
# MOUSE_WHEEL_CLICK_ANGLE.
# Clients should prefer MOUSE_WHEEL_CLICK_COUNT where available, it is more
# precise than MOUSE_WHEEL_CLICK_ANGLE.
#
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL works the same way but also follows the
# rules of MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL.

#
# Sort by brand, type (usb, bluetooth), DPI, frequency.
# For mice with switchable resolution, sort by the starred entry.

##########################################
# Generic
##########################################
mouse:*:name:*Trackball*:*
mouse:*:name:*trackball*:*
mouse:*:name:*TrackBall*:*
 ID_INPUT_TRACKBALL=1

##########################################
# Apple
##########################################

# Apple MagicMouse
# Note: this device changes name once connected to a mac, the name ends up
# as $username`s mouse
mouse:bluetooth:v05acp030d:name:*:*
 MOUSE_DPI=1300@1000

##########################################
# Chicony
##########################################

# Chicony 2.4G Multimedia Wireless Kit MG-0919
mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:*
 MOUSE_DPI=1000@142

##########################################
# Dell
##########################################

# Dell MUAR DEL7
mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:*
 MOUSE_DPI=400@166

# Dell USB Laser Mouse
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:*
 MOUSE_DPI=1000@125

# Dell MS116t
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:*
 MOUSE_DPI=1000@125

##########################################
# Dynex
#########################################

# Dynex Wired Optical Mouse (DX-WMSE2)
mouse:usb:v0461p4d46:name:USB Optical Mouse:*
 MOUSE_DPI=1000@125

##########################################
# Elecom
#########################################

# Elecom HUGE TrackBall (M-HT1DR)
mouse:usb:v056ep010d:name:ELECOM TrackBall Mouse HUGE TrackBall:*
 MOUSE_DPI=500@125 *1000@125 1500@125

##########################################
# Fujitsu Siemens
##########################################

mouse:usb:v0461p4d16:name:USB Optical Mouse:*
 MOUSE_DPI=500@125

##########################################
# Future Technology Devices International
##########################################

# SNES Mouse plugged into a Retrode 2
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:*
 MOUSE_DPI=235@126

##########################################
# Generic
##########################################

# FM-901 Wireless Mouse
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:*
 MOUSE_DPI=*800@125 1600@125

# WK-727
mouse:usb:v04d9p0499:name:*:*
 MOUSE_DPI=800@125

##########################################
# HandShoe Mouse
##########################################

# HandShoe Mouse
mouse:usb:v192fp0916:name:USB Optical Mouse:*
 MOUSE_DPI=1000@128

##########################################
# HoverStop
##########################################

# Hoverstop active ergonomic mouse
mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:*
 MOUSE_DPI=400@129

##########################################
# HP
##########################################

# HP USB 1000dpi Laser Mouse
mouse:usb:v0458p0133:name:Mouse Laser Mouse:*
 MOUSE_DPI=1000@125
 MOUSE_WHEEL_CLICK_ANGLE=15

# HP X1000
# Dell MS111-T
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:*
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:*
 MOUSE_DPI=1000@125

# HP X1200 Optical Mouse
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:*
 MOUSE_DPI=1100@125

##########################################
# IBM
##########################################

# IBM USB Travel Mouse (MO32BO)
mouse:usb:v04b3p3107:name:*
 MOUSE_DPI=800@125

##########################################
# Kensington
##########################################

# Kensington Expert Mouse trackball
mouse:usb:v047dp1020:*Kensington Expert Mouse*:*
 ID_INPUT_TRACKBALL=1
 MOUSE_DPI=400@125

##########################################
# Lenovo
##########################################

# Lenovo Optical USB Mouse
mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:*
 MOUSE_DPI=1000@125

# Lenovo M-U0025-O
mouse:usb:v17efp6019:name:Logitech Lenovo USB Optical Mouse:*
 MOUSE_DPI=1000@166

# Lenovo USB mouse model MO28UOL
mouse:usb:v04b3p310c:name:USB Optical Mouse:*
 MOUSE_DPI=400@142

# Lenovo Precision USB Mouse
mouse:usb:v17efp6050:name:Lenovo Precision USB Mouse:*
 MOUSE_DPI=1200@127

# Lenovo MOBGUL
mouse:usb:v17efp601d:name:Primax Lenovo Laser Mouse:*
 MOUSE_DPI=1600@125

# Lenovo MOBGULA
mouse:usb:v17efp6045:name:Lenovo USB Laser Mouse:*
 MOUSE_DPI=1600@125

# ThinkPad USB Laser Mouse
mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:*
 MOUSE_DPI=1200@125

##########################################
# Logitech
##########################################

# Note: devices using the Logitech Unifying receiver will need two entries,
# one for pre 3.19 with the wireless PID in the name, one for 3.19 with the
# model name. The usb vid/pid is the same for all those devices.
# Until 3.19 is available, this list just has the Wireless PID entry.

## G Series ##

# Logitech G5 Laser Mouse
mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:*
 MOUSE_DPI=400@500 *800@500 2000@500

# Logitech G500s Laser Gaming Mouse
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:*
 MOUSE_DPI=400@500 *800@500 2000@500

# Logitech G9
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:*
 MOUSE_DPI=400@1000 800@1000 *1600@1000

# Logitech G9x [Call of Duty MW3 Edition]
mouse:usb:v046dpc249:name:Logitech G9x Laser Mouse:*
 MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000

# Logitech G100s Optical Gaming Mouse
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:*
 MOUSE_DPI=*1000@500 1750@500 2500@500

# Logitech G400 (Wired)
mouse:usb:v046dpc245:name:Logitech Gaming Mouse G400:*
 MOUSE_DPI=400@1000 *800@1000 1800@1000 3600@1000

# Logitech G400s (Wired)
mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:*
 MOUSE_DPI=400@1000 *800@1000 2000@1000 4000@1000

# Logitech G402 Hyperion Fury
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:*
 MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000

# Logitech G403 Prodigy (Wired)
mouse:usb:v046dpc083:name:Logitech G403 Prodigy Gaming Mouse:*
 MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000

# Logitech G403 Hero
mouse:usb:v046dpc08f:name:Logitech G403 HERO Gaming Mouse:*
 MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000

# Logitech G500 Mouse
mouse:usb:v046dpc068:name:Logitech G500:*
 MOUSE_DPI=400@500 *800@500 2000@500

# Logitech G502 Proteus Spectrum
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:*
# Logitech G502 HERO SE
mouse:usb:v046dpc08b:name:Logitech G502 HERO SE:*
# Logitech G502 Hero
mouse:usb:v046dpc08b:name:Logitech G502 HERO Gaming Mouse:*
 MOUSE_DPI=1200@1000 *2400@1000 3200@1000 6400@1000

# Logitech G700 Laser Mouse (Wired)
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:*
# Logitech G700 Laser Mouse (Wireless)
mouse:usb:v046dp1023:name:Logitech G700:*
mouse:usb:v046dpc531:name:Logitech USB Receiver:*
 MOUSE_DPI=400@500 800@500 *1200@500 1600@500 3200@500

# Logitech G703 (Wired)
mouse:usb:v046dpc087:name:Logitech G703 Wired/Wireless Gaming Mouse:*
# Logitech G703 (Wireless)
mouse:usb:v046dpc539:name:Logitech USB Receiver Mouse:*
 MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000

# Logitech G Pro Wireless (Wired)
mouse:usb:v046dpc088:name:Logitech G Pro Wireless Gaming Mouse:*
# Logitech G Pro Wireless (Wireless)
mouse:usb:v046dp4079:name:Logitech G Pro:*
 MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000 6400@1000

## M Series ##

# Logitech Wireless Mouse M185
mouse:usb:v046dp4008:name:Logitech M185:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:*
 MOUSE_DPI=1000@125

# Logitech Wireless Mouse M510
mouse:usb:v046dp1025:name:Logitech M510:*
 MOUSE_DPI=1000@125

# Logitech M705 (marathon mouse)
mouse:usb:v046dp101b:name:Logitech M705:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:*
 MOUSE_DPI=1000@125

# Logitech M705 (newer version?)
mouse:usb:v046dp406d:name:Logitech M705:*
 MOUSE_DPI=1000@167

# Logitech M305 Wireless Optical Mouse
mouse:usb:v046dpc52f:name:Logitech USB Receiver:*
 MOUSE_DPI=1000@170

# Logitech Wireless Mouse M310
mouse:usb:v046dp1024:name:Logitech M310:*
 MOUSE_DPI=800@125

# Logitech Wireless Mouse M325
mouse:usb:v046dp400a:name:Logitech M325:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:*
 MOUSE_DPI=600@166
 MOUSE_WHEEL_CLICK_ANGLE=20

# Logitech M570 trackball
mouse:usb:v046dp1028:name:Logitech M570:*
 MOUSE_DPI=540@167
 ID_INPUT_TRACKBALL=1

## MX Series ##

# Logitech Performance MX
mouse:usb:v046dp101a:name:Logitech Performance MX:*
 MOUSE_DPI=1000@166

# Logitech MX Revolution
mouse:usb:v046dpc51a:name:Logitech USB Receiver:*
 MOUSE_DPI=800@200

# Logitech MX 518
mouse:usb:v046dpc01e:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=400@125 *800@125 1600@125

# Logitech MX 518 Legendary (HERO sensor)
mouse:usb:v046dpc08e:name:Logitech MX518 Gaming Mouse:*
 MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000 6400@1000

# Logitech MX1000 Laser Cordless Mouse
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:*
 MOUSE_DPI=800@80

# Logitech Anywhere MX
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:1017:*
mouse:usb:v046dp1017:name:Logitech Anywhere MX:*
 MOUSE_WHEEL_CLICK_ANGLE=20

# Logitech Anywhere MX 2S (via Logitech Unifying Receiver)
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:*
 MOUSE_WHEEL_CLICK_ANGLE=20

# Logitech Anywhere MX 2S (via Bluetooth)
mouse:bluetooth:v046dpb01a:name:MX Anywhere 2S Mouse:*
 MOUSE_WHEEL_CLICK_ANGLE=20

# Logitech MX Master (via Logitech Unifying Receiver)
# Horiz wheel has 14 stops, angle is rounded up
mouse:usb:v046dp4060:name:Logitech MX Master:*
mouse:usb:v046dp4041:name:Logitech MX Master:*
 MOUSE_DPI=1000@166
 MOUSE_WHEEL_CLICK_ANGLE=15
 MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
 MOUSE_WHEEL_CLICK_COUNT=24
 MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14

# Logitech MX Master (via Bluetooth)
# Horiz wheel has 14 stops, angle is rounded up
mouse:bluetooth:v046dpb012:name:MX Master Mouse:*
 MOUSE_DPI=1000@2000
 MOUSE_WHEEL_CLICK_ANGLE=15
 MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
 MOUSE_WHEEL_CLICK_COUNT=24
 MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14

# Logitech MX Master 2S (via Logitech Unifying Receiver)
# Horiz wheel has 14 stops, angle is rounded up
mouse:usb:v046dp4069:name:Logitech MX Master 2s:*
 MOUSE_DPI=1000@125
 MOUSE_WHEEL_CLICK_ANGLE=15
 MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
 MOUSE_WHEEL_CLICK_COUNT=24
 MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14

# Logitech MX Master 2S (via Bluetooth)
# Horiz wheel has 14 stops, angle is rounded up
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:*
 MOUSE_DPI=1000@2000
 MOUSE_WHEEL_CLICK_ANGLE=15
 MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
 MOUSE_WHEEL_CLICK_COUNT=24
 MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14

# Logitech MX Ergo
mouse:usb:v046dp406f:name:Logitech MX Ergo:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:406f:*
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:*
 ID_INPUT_TRACKBALL=1
 MOUSE_DPI=380@125

## Other ##

# Logitech M-BJ58 Optical Mouse
mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=400@125

# Logitech Mini Optical Mouse
mouse:usb:v046dpc016:name:Logitech Optical USB Mouse:*
 MOUSE_DPI=400@125

# Logitech MX310 Optical Mouse
mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=400@125

# Logitech USB-PS/2 M-BT58
mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=400@125

# Logitech TrackMan Marble Wheel USB
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:*
 MOUSE_DPI=400@125

# Logitech Cordless MouseMan Optical M-RM63
mouse:usb:v046dpc501:name:Logitech USB Receiver:*
 MOUSE_DPI=800@63

# Logitech USB-PS/2 M-BZ96C
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=600@125

# Logitech MX400 Performance Laser Mouse
mouse:usb:v046dpc043:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=800@125

# Logitech MX1000 Laser Cordless Mouse
mouse:usb:v046dpc50e:name:Logitech USB RECEIVER:*
 MOUSE_DPI=800@125

# Logitech Cordless Click! Plus
mouse:usb:v046dpc50e:name:Logitech USB Receiver:*
 MOUSE_DPI=800@125

# Logitech, Inc. RX 300 Optical Mouse
mouse:usb:v046dpc040:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=800@125

# Logitech, Inc. RX 250 Optical Mouse
mouse:usb:v046dpc050:name:Logitech USB-PS/2 Optical Mouse:*
 MOUSE_DPI=1000@142

# Logitech B605 Wireless Mouse (also M505)
mouse:usb:v046dp101d:name:Logitech B605:*
mouse:usb:v046dp101d:name:Logitech M505:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:*
 MOUSE_DPI=900@166

# Logitech Cordless Desktop Wave Mouse
mouse:usb:v046dpc517:name:Logitech USB Receiver:*
 MOUSE_DPI=950@125

# Logitech RX1000 Laser Mouse
mouse:usb:v046dpc046:name:Logitech USB Optical Mouse:*
 MOUSE_DPI=1000@125

# Logitech M100 Optical Mouse
mouse:usb:v046dpc05a:name:Logitech USB Optical Mouse:*
 MOUSE_DPI=1000@125

# Logitech USB Laser Mouse M-U0011-O rebranded as "terra Laser"
mouse:usb:v046dpc065:name:Logitech USB Laser Mouse:*
 MOUSE_DPI=1000@125

# Logitech USB Laser Mouse M-U0007 [M500]
mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:*
 MOUSE_DPI=1000@125

# Logitech V500 Cordless Notebook Mouse
mouse:usb:v046dpc510:name:Logitech USB Receiver:*
 MOUSE_DPI=1000@125

# Logitech M560 Wireless Mouse
mouse:usb:v046dp402d:name:Logitech M560:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:*
 MOUSE_DPI=1000@125

# Logitech MK260 Wireless Combo Receiver aka M-R0011
mouse:usb:v046dpc52e:name:Logitech USB Receiver:*
 MOUSE_DPI=1000@200

# Logitech USB Laser Mouse M-UAS144 [LS1 Laser Mouse]
mouse:usb:v046dpc062:name:Logitech USB Laser Mouse:*
 MOUSE_DPI=1200@125

# Logitech T620 (or, the soap)
mouse:usb:v046dp4027:name:Logitech T620:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:*
 MOUSE_DPI=1200@250

# Logitech ZoneTouch Mouse T400
mouse:usb:v046dp4026:name:Logitech T400:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:*
 MOUSE_DPI=1300@166

# Logitech TrackMan Wheel (USB)
mouse:usb:v046dpc404:name:Logitech Trackball:*
 MOUSE_DPI=300@125

# Logitech Trackman Marble
mouse:usb:v046dpc408:name:Logitech USB Trackball:*
 MOUSE_DPI=300@125

# Logitech Ultrathin Touch Mouse
mouse:bluetooth:v046dpb00d:name:Ultrathin Touch Mouse:*
 MOUSE_DPI=1000@1000

# ImPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImPS/2 Logitech Wheel Mouse:*
 MOUSE_DPI=400@100

# ImExPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:*
 MOUSE_DPI=400@250

##########################################
# Microsoft
##########################################

mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM):*
 MOUSE_DPI=400@125

# Note: unsure that these work, it's likely that all devices on these
# receivers show up with the same vid/pid/name

# Microsoft Wireless Mouse 5000
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:*
 MOUSE_DPI=800@142

# Microsoft Comfort Mouse 4500
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:*
 MOUSE_DPI=1000@125

# Microsoft Wireless Mobile Mouse 4000
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:*
 MOUSE_DPI=1000@142

# Microsoft Sculpt Ergonomic Mouse
mouse:usb:v045ep07a5:name:Microsoft Microsoft® 2.4GHz Transceiver v9.0:*
 MOUSE_DPI=1000@142

# Microsoft Arc Touch Mouse USB
mouse:usb:v045ep07b1:name:Microsoft Microsoft® Nano Transceiver v1.0:*
 MOUSE_DPI=1400@142

# Microsoft  Wireless Laser Mouse 8000
mouse:bluetooth:v045ep0702:name:Microsoft  Wireless Laser Mouse 8000:*
 MOUSE_DPI=1000@1000

# Microsoft Sculpt Comfort Mouse
mouse:bluetooth:v045ep07a2:name:Microsoft Sculpt Comfort Mouse:*
 MOUSE_DPI=1000@2000

# Microsoft Arc Touch Mouse SE:
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:*
 MOUSE_DPI=1000@2000

# Microsoft Surface Mouse
mouse:bluetooth:v0000p0000:name:Surface Mouse:*
 MOUSE_DPI=2000@2000

# Microsoft Classic IntelliMouse
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:*
 MOUSE_DPI=3200@1000

# Microsoft Pro Intellimouse
mouse:usb:v045ep082a:name:Microsoft Microsoft Pro Intellimouse Mouse:*
 MOUSE_DPI=1600@1000

##########################################
# Mionix
##########################################

#Mionix Avior 7000
mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:*
 MOUSE_DPI=400@1000 *1600@1000 7000@1000
 MOUSE_WHEEL_CLICK_ANGLE=15

##########################################
# MODECOM
##########################################

# MODECOM MC-WM4 Wireless Optical Mouse
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:*
 MOUSE_DPI=*800@126 1600@126

##########################################
# Oklick
##########################################

# Oklick 406S Bluetooth Laser Mouse
mouse:bluetooth:v056ep0061:name:Laser  BTmouse:*
 MOUSE_DPI=*800@333 1600@333

##########################################
# P-Active
##########################################

# P-Active Wireless Mouse PA-27K2
mouse:usb:v0425p0101:name:G-Tech CHINA    USB Wireless Mouse & KeyBoard V1.01  :*
 MOUSE_DPI=800@125

##########################################
# Razer
##########################################

# Razer Abyssus
mouse:usb:v1532p0042:name:Razer Razer Abyssus:*
 MOUSE_DPI=1600@1000

# Razer DeathAdder Black Edition
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:*
 MOUSE_DPI=3500@1000

##########################################
# Roccat
##########################################

# Roccat Lua (ROC-11-310)
mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:*
 MOUSE_DPI=250@125 500@125 1000@125 1250@125 1500@125 1750@125 2000@125 250@250 500@250 1000@250 1250@250 1500@250 1750@250 2000@250 250@500 500@500 1000@500 1250@500 1500@500 1750@500 2000@500 250@1000 500@1000 *1000@1000 1250@1000 1500@1000 1750@1000 2000@1000
 MOUSE_WHEEL_CLICK_ANGLE=15

##########################################
# Sharkoon
##########################################

# Sharkoon Shark Force Gaming Mouse
mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:*
 MOUSE_DPI=*1000@125 1600@125 600@125

##########################################
# SteelSeries
##########################################

# SteelSeries Sensei Raw
mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:*
 MOUSE_DPI=1000@1022

##########################################
# Trust
##########################################

# Trust illuminated mouse gxt 152
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:*
 MOUSE_DPI=*800@528 1200@537 1600@536 2400@521

##########################################
# Zelotes
##########################################

# Zelotes 5500 DPI 7 Button USB Wired Gaming Mouse
mouse:usb:v1d57pad17:*
 MOUSE_DPI=1000@500 1600@500 2400@500 3200@500 5500@500 *1000@1000 1600@1000 2400@1000 3200@1000 5500@1000

##########################################
# Zowie
##########################################

# Zowie FK2
mouse:usb:v3057p0001:*
 MOUSE_DPI=400@125 *800@125 1600@125 3200@125 400@500 800@500 1600@500 3200@500 400@1000 800@1000 1600@1000 3200@1000
 MOUSE_WHEEL_CLICK_COUNT=16
 MOUSE_WHEEL_CLICK_ANGLE=23

# Zowie ZA12
mouse:usb:v1af3p0001:name:Kingsis Peripherals ZOWIE Gaming mouse:*
 MOUSE_DPI=400@125 *800@125 1600@125 3200@125 400@500 800@500 1600@500 3200@500 400@1000 800@1000 1600@1000 3200@1000
 MOUSE_WHEEL_CLICK_COUNT=16
 MOUSE_WHEEL_CLICK_ANGLE=23
