# 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
#
# 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

##########################################
# Cherry
##########################################

# Cherry MW 2310
mouse:usb:v1A81p1701:name:G-Tech Wireless Dongle Mouse:*
 KEYBOARD_KEY_90005=back
 KEYBOARD_KEY_90004=forward

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

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

##########################################
# CST
##########################################

# CST Laser Trackball
mouse:usb:v5332p1400:name:Clearly Superior Technologies. CST Laser Trackball:*
 MOUSE_DPI=400@1000 *800@1000 1600@1000

##########################################
# 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

# Elecom DEFT Pro TrackBall (M-DPT1MR)
mouse:usb:v056ep0131:name:ELECOM TrackBall Mouse DEFT Pro TrackBall Mouse:*
 MOUSE_DPI=*500 1000 1500
 MOUSE_WHEEL_CLICK_ANGLE=10

# Elecom Relacon (M-RT1DR)
mouse:usb:v056ep0155:name:ELECOM ELECOM Relacon:*
 ID_INPUT_TRACKBALL=1
 MOUSE_DPI=*500 1000 1500
 MOUSE_WHEEL_CLICK_ANGLE=30

##########################################
# 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*:*
mouse:usb:v047dp8018:name:Kensington Expert Wireless TB Mouse:*
mouse:bluetooth:v047dp8019:name:Expert Wireless TB 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 G502 X (Wired)
mouse:usb:v046dpc098:name:Logitech, Inc. G502 X LIGHTSPEED:*
# Logitech G502 X (Wireless)
mouse:usb:v046dpc547:name:Logitech USB Receiver:*
 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-BT96A
mouse:usb:v046dpc03d: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
