diff --git a/hwdb/60-evdev.hwdb b/hwdb/60-evdev.hwdb index fd9078393b..82814701b7 100644 --- a/hwdb/60-evdev.hwdb +++ b/hwdb/60-evdev.hwdb @@ -115,6 +115,13 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pn?550C?:* EVDEV_ABS_35=::31 EVDEV_ABS_36=::30 +# Asus UX301L +evdev:name:Elan Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pnUX301LAA:* + EVDEV_ABS_00=::30 + EVDEV_ABS_01=::29 + EVDEV_ABS_35=::30 + EVDEV_ABS_36=::29 + # Asus UX305 evdev:name:Elan Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pnUX305UA:* EVDEV_ABS_00=0:3097:32 @@ -178,6 +185,15 @@ evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530* EVDEV_ABS_00=85:947:15 EVDEV_ABS_01=154:726:18 +##### +# Sun +##### + +# Fujitsu Component - USB Touch Panel +evdev:input:b0003v0430p0530* + EVDEV_ABS_00=0:4096:16 + EVDEV_ABS_01=0:4096:16 + ######################################### # Google ######################################### @@ -338,6 +354,13 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/ EVDEV_ABS_35=0:2480:28 EVDEV_ABS_36=0:1116:24 +# Samsung 880Z5E +evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/880Z5E/680Z5E* + EVDEV_ABS_00=::30 + EVDEV_ABS_01=::29 + EVDEV_ABS_35=::30 + EVDEV_ABS_36=::29 + ######################################### # Toshiba ######################################### @@ -346,3 +369,12 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/ evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11* EVDEV_ABS_00=90:962:11 EVDEV_ABS_01=51:681:14 + +######################################### +# Waltop +######################################### + +# WALTOP International Corp. Slim Tablet +evdev:input:b0003v172Fp0031* + EVDEV_ABS_00=0:10000:400 + EVDEV_ABS_01=0:6250:400 diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb index 1aa729f047..e8be567166 100644 --- a/hwdb/60-keyboard.hwdb +++ b/hwdb/60-keyboard.hwdb @@ -1,7 +1,14 @@ # This file is part of systemd. # -# Keyboard mapping of scan codes to key codes, and -# scan codes to add to the AT keyboard's 'force-release' list. +# This file contains 3 types of metadata to apply to keyboards and +# keyboard-like input devices: +# - Key mapping +# - Hard-coded layouts +# - Absence of modifier LEDs +# +# The matching process is the same for the different types of metadata. +# +# ########################### MATCHING ####################################### # # The lookup keys are composed in: # 60-evdev.rules @@ -40,6 +47,12 @@ # /sys/class/input/input?/capabilities/ev" and is the # firmware-provided string exported by the kernel DMI modalias, # see /sys/class/dmi/id/modalias + + +# ######################### KEY MAPPING ###################################### +# +# Keyboard mapping of scan codes to key codes, and +# scan codes to add to the AT keyboard's 'force-release' list. # # Scan codes are specified as: # KEYBOARD_KEY_= @@ -84,6 +97,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn* evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:pvr* evdev:atkbd:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr* + KEYBOARD_KEY_86=wlan # Fn+F3 or Fn+Q for comunication key KEYBOARD_KEY_a5=help # Fn+F1 KEYBOARD_KEY_a6=setup # Fn+F2 Acer eSettings KEYBOARD_KEY_a7=battery # Fn+F3 Power Management @@ -105,6 +119,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr* KEYBOARD_KEY_f3=prog2 # "P2" programmable button KEYBOARD_KEY_f4=prog1 # "P1" programmable button KEYBOARD_KEY_f5=presentation + KEYBOARD_KEY_f6=power # Power button KEYBOARD_KEY_f8=fn KEYBOARD_KEY_f9=prog1 # Launch NTI shadow @@ -144,6 +159,10 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*C3[01]0*:pvr* KEYBOARD_KEY_6b=fn KEYBOARD_KEY_6c=screenlock # FIXME: lock tablet device/buttons +# Travelmate P648-G2-MG +evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*P648-G2-MG*:pvr* + KEYBOARD_KEY_8a=f20 # Microphone mute button; should be micmute + # on some models this isn't brightnessup evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5210*:pvr* evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5220*:pvr* @@ -158,6 +177,10 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1640:* evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr* KEYBOARD_KEY_a9=!switchvideomode # Fn+F5 +# Easynote models +evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPackard*Bell*:pnEasynote*:pvr* + KEYBOARD_KEY_86=wlan # Fn+F3 or Fn+Q for comunication key + ########################################################### # Alienware ########################################################### @@ -222,7 +245,7 @@ evdev:input:b0003v049Fp0051* ########################################################### evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:bvn*:bvr*:bd*:svncube:pni1-TF:* - KEYBOARD_KEY_0=home + KEYBOARD_KEY_0=leftmeta KEYBOARD_KEY_1=power ########################################################### @@ -291,6 +314,10 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* KEYBOARD_KEY_88=! # wireless switch KEYBOARD_KEY_9e=!f21 +# Dell Latitude E7* +evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*E7*:pvr* + KEYBOARD_KEY_88=unknown # Fn-PrtScr rfkill - handled in HW + # Dell XPS evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* KEYBOARD_KEY_8c=!unknown @@ -831,6 +858,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMAXDATA:pnPro*7000*:pvr* ########################################################### # Akoya +evdev:atkbd:dmi:bvn*:bvr*:svnMEDION*:pnS3409*:pvr* evdev:atkbd:dmi:bvn*:bvr*:svnMedion*:pnAkoya*:pvr* KEYBOARD_KEY_a0=!mute KEYBOARD_KEY_ae=!volumedown @@ -1274,9 +1302,13 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDIXONSP:pnDIXON*:pvr* KEYBOARD_KEY_ae=! # volume down KEYBOARD_KEY_b0=! # volume up -########################################################### -# Fixed layout devices -########################################################### +######################### FIXED LAYOUT DEVICES ############################# +# This section lists devices for which only one keyboard layout is possible +# or useful such as devices which "type" expecting the user's keymap to match +# a particular one. For example, barcode readers and OTP keys. +# +# The layout must be an xkb compatible layout (defined with XKB_FIXED_LAYOUT), +# with an accompanying variant (defined with XKB_FIXED_VARIANT) if necessary. # Yubico Yubico Yubikey II" evdev:input:b0003v1050p0010* @@ -1288,3 +1320,16 @@ evdev:input:b0003v1050p0116* evdev:input:b0003v05FEp1010* XKB_FIXED_LAYOUT="us" XKB_FIXED_VARIANT="" + +######################### LACK OF MODIFIER LEDS ############################ +# This section lists keyboard which do not have their own LEDs for some +# modifiers. Only Caps-Lock (KEYBOARD_LED_CAPSLOCK) and Num-Lock +# (KEYBOARD_LED_CAPSLOCK) are currently handled and need their values set +# to "0" to indicate the absence of LED. +# +# Presence of a LED is implicit when the property is absent. + +# Logitech K750 +evdev:input:b0003v046Dp4002* + KEYBOARD_LED_NUMLOCK=0 + KEYBOARD_LED_CAPSLOCK=0 diff --git a/hwdb/60-sensor.hwdb b/hwdb/60-sensor.hwdb index fcbdcabf30..2436ca7367 100644 --- a/hwdb/60-sensor.hwdb +++ b/hwdb/60-sensor.hwdb @@ -47,6 +47,22 @@ sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB* ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 0 +sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ* + ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1 + +######################################### +# Endless +######################################### +sensor:modalias:acpi:ACCE0001*:dmi:*svnEndless*:*pnELT-NL3* + ACCEL_MOUNT_MATRIX=0, 1, 0; 0, 0, -1; -1, 0, 0 + +######################################### +# HP +######################################### +sensor:modalias:platform:lis3lv02d:dmi:*svn*Hewlett-Packard*:*pn*HPEliteBook8540w* +sensor:modalias:platform:lis3lv02d:dmi:*svn*Hewlett-Packard*:*pn*HPEliteBook8560w* + ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 0, -1; 0, 1, 0 + ######################################### # Winbook ######################################### diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb index 772534f495..d49c472926 100644 --- a/hwdb/70-mouse.hwdb +++ b/hwdb/70-mouse.hwdb @@ -244,6 +244,14 @@ mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE: MOUSE_DPI=1000@125 ########################################## +# IBM +########################################## + +# IBM USB Travel Mouse (MO32BO) +mouse:usb:v04b3p3107:name:* + MOUSE_DPI=800@125 + +########################################## # Lenovo ########################################## diff --git a/hwdb/70-pointingstick.hwdb b/hwdb/70-pointingstick.hwdb index 65c87aeac7..f1a86ff20b 100644 --- a/hwdb/70-pointingstick.hwdb +++ b/hwdb/70-pointingstick.hwdb @@ -126,10 +126,16 @@ evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Ta POINTINGSTICK_SENSITIVITY=200 POINTINGSTICK_CONST_ACCEL=1.0 -# Lenovo Thinkpad X200s / X201s +# Lenovo Thinkpad X200/X201/X200s/X201s # Note these come with 2 revisions of keyboard, with the trackpoints having a # different sensitivity in the different revisions. 1.25 is a bit slow for the # least sensitive revision, but it is better to be a bit slow than too fast. -evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20?s:* +evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20?:* +evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20??:* POINTINGSTICK_SENSITIVITY=200 POINTINGSTICK_CONST_ACCEL=1.25 + +# Lenovo UltraNav SK-8845 (USB keyboard) +evdev:input:b0003v06CBp0009* + POINTINGSTICK_CONST_ACCEL=2.5 + POINTINGSTICK_SENSITIVITY=200 diff --git a/hwdb/70-touchpad.hwdb b/hwdb/70-touchpad.hwdb index 82a4b7a575..12d97de69b 100644 --- a/hwdb/70-touchpad.hwdb +++ b/hwdb/70-touchpad.hwdb @@ -53,3 +53,10 @@ touchpad:usb:v05ac* ########################################################### touchpad:usb:v056a* ID_INPUT_TOUCHPAD_INTEGRATION=external + +########################################################### +# Microsoft (Surface Type Covers) +########################################################### +touchpad:usb:v045ep07* + ID_INPUT_TOUCHPAD_INTEGRATION=internal + diff --git a/hwdb/parse_hwdb.py b/hwdb/parse_hwdb.py index b57e6f75aa..adf8a1963e 100755 --- a/hwdb/parse_hwdb.py +++ b/hwdb/parse_hwdb.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */ # # This file is part of systemd. It is distrubuted under the MIT license, see @@ -112,6 +112,8 @@ def property_grammar(): ('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))), ('XKB_FIXED_LAYOUT', STRING), ('XKB_FIXED_VARIANT', STRING), + ('KEYBOARD_LED_NUMLOCK', Literal('0')), + ('KEYBOARD_LED_CAPSLOCK', Literal('0')), ('ACCEL_MOUNT_MATRIX', mount_matrix), ) fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')