1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-06 08:26:52 +03:00
systemd/hwdb.d/60-keyboard.hwdb
Sebastian Wick d7d31692bf hwdb: add XKB_FIXED_MODEL to the keyboard hwdb
Chromebook keyboards have a top row which generates f1-f10 key codes but
the keys have media symbols printed on them. A simple scan code to key
code mapping to the correct media keys makes the f1-f10 inaccessible. To
properly use the keyboard a custom key code to symbol mapping in xbk is
required (a variant of the chromebook xkb model is already upstream).
Other devices have similar problems.
This commit makes it possible to specify which xkb model should be used
for a specific device by setting XKB_FIXED_MODEL.
2019-11-05 10:08:26 +01:00

1737 lines
73 KiB
Plaintext

# This file is part of systemd.
#
# 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
#
# Note: The format of the "evdev:" 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.
#
# Supported hardware matches are:
# - Generic input devices match:
# evdev:input:bZZZZvYYYYpXXXXeWWWW-VVVV
# This matches on the kernel modalias of the input-device, mainly:
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
# is an arbitrary length input-modalias describing the device capabilities.
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
#
# - AT keyboard DMI data matches:
# evdev:atkbd:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
# <vendor> and <product> are the firmware-provided strings
# exported by the kernel DMI modalias, see /sys/class/dmi/id/modalias
#
# - Input driver device name and DMI data match:
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the
# driver, <vendor> is the firmware-provided string exported
# by the kernel DMI modalias, see /sys/class/dmi/id/modalias
#
# - Extended input driver device name, properties and DMI data match:
# evdev:name:<input device name>:phys:<phys>:ev:<ev>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the
# driver, <phys> is the physical-device-path, "cat
# /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
# /sys/class/input/input?/capabilities/ev" and <vendor> 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_<hex scan code>=<key code identifier>
# The scan code should be expressed in hex lowercase. The key codes
# are retrieved and normalized from the kernel input API header.
# Keycodes are either KEY_* defines in lowercase with the key_ prefix
# optionally removed or BTN_ defines in lowercase with btn_ preserved.
#
# An '!' as the first character of the key identifier string
# will add the scan code to the AT keyboard's list of scan codes
# where the driver will synthesize a release event and not expect
# it to be generated by the hardware.
#
# To debug key presses and access scan code mapping data of
# an input device use the commonly available tool: evtest(1).
# A device with a fixed keyboard layout that must not be changed by
# the desktop environment may specify that layout as:
# XKB_FIXED_LAYOUT="us"
# XKB_FIXED_VARIANT=""
# Examples of such devices: the Yubikey or other key-code generating
# devices.
# A device where the scan code to key code mapping is insufficient and
# requires a special key code to symbol configuration may specify that with:
# XKB_FIXED_MODEL="xkbmodel"
# Examples of such devices: Chromebooks where the top row is used for both
# media and F1-F10 keys.
# To update this file, create a new file
# /etc/udev/hwdb.d/70-keyboard.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 keyboard in question. If in
# doubt, simply reload all input rules
# udevadm trigger --verbose --sysname-match="event*"
#
# 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.
##########################################
# Acer
##########################################
# common keys
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
KEYBOARD_KEY_a9=switchvideomode # Fn+F5
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_b3=euro
KEYBOARD_KEY_b4=dollar
KEYBOARD_KEY_ce=brightnessup # Fn+Right
KEYBOARD_KEY_d4=bluetooth # (toggle) off-to-on
KEYBOARD_KEY_d5=wlan # (toggle) on-to-off
KEYBOARD_KEY_d6=wlan # (toggle) off-to-on
KEYBOARD_KEY_d7=bluetooth # (toggle) on-to-off
KEYBOARD_KEY_d8=bluetooth # (toggle) off-to-on
KEYBOARD_KEY_d9=brightnessup # Fn+Right
KEYBOARD_KEY_ee=brightnessup # Fn+Right
KEYBOARD_KEY_ef=brightnessdown # Fn+Left
KEYBOARD_KEY_f1=f22 # Fn+F7 Touchpad toggle (off-to-on)
KEYBOARD_KEY_f2=f23 # Fn+F7 Touchpad toggle (on-to-off)
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
# Acer kernel driver
evdev:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnAcer*:pvr*
KEYBOARD_KEY_82=f21 # Touchpad toggle
# Aspire models
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*:pvr*
KEYBOARD_KEY_84=bluetooth # sent when bluetooth module missing, and key pressed
KEYBOARD_KEY_d9=bluetooth # Bluetooth off
KEYBOARD_KEY_92=media # Acer arcade
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5720*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnZG8*:pvr*
KEYBOARD_KEY_f4=prog3 # e-key
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5920G:*
KEYBOARD_KEY_8a=media
KEYBOARD_KEY_a6=setup
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*6920:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*8930:*
KEYBOARD_KEY_ca=prog3 # key 'HOLD' on CineDash Media Console
KEYBOARD_KEY_83=rewind
KEYBOARD_KEY_89=fastforward
KEYBOARD_KEY_9e=back
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*7750G:pvr*
KEYBOARD_KEY_e0=!pageup
# Travelmate C300
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*C3[01]0*:pvr*
KEYBOARD_KEY_67=f24 # FIXME: rotate screen
KEYBOARD_KEY_68=up
KEYBOARD_KEY_69=down
KEYBOARD_KEY_6b=fn
KEYBOARD_KEY_6c=screenlock # FIXME: lock tablet device/buttons
# Travelmate P648-G2-MG, P648-G3-M and P645-S
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*P648-G2-MG*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*P648-G3-M*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*P645-S*: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*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5610*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5620*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5720*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6593:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1640:*
KEYBOARD_KEY_ee=screenlock
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr*
KEYBOARD_KEY_a9=!switchvideomode # Fn+F5
# Packard Bell and Gateway models
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGateway*:pn*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPackard*Bell*:pn*
KEYBOARD_KEY_86=wlan # Fn+F3 or Fn+Q for comunication key
###########################################################
# Alienware
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAlienware*:pn*
KEYBOARD_KEY_81=f21 # Touchpad toggle
KEYBOARD_KEY_8a=ejectcd
# Alienware/Dell reserves these keys; safe to apply on all their devices
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAlienware*:pn*:pvr*
KEYBOARD_KEY_bf=!prog1 #graphics amplifier, cable plug-in event
KEYBOARD_KEY_c1=!prog2 #graphics amplifier, undock-button event
KEYBOARD_KEY_c2=!power #graphics amplifier, surprise undock event
###########################################################
# Asus
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnASUS:pn*
KEYBOARD_KEY_ed=volumeup
KEYBOARD_KEY_ee=volumedown
KEYBOARD_KEY_ef=mute
evdev:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
evdev:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
evdev:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
KEYBOARD_KEY_6b=f21 # Touchpad Toggle
# USB keyboard in Asus FX503VD
evdev:input:b0003v0B05p1869*
KEYBOARD_KEY_ff31007c=f20 # Remap micmute to f20
###########################################################
# BenQ
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*BenQ*:pn*Joybook*R22*:pvr*
KEYBOARD_KEY_6e=wlan
###########################################################
# Clevo
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnNotebook:pnW65_67SZ:pvr*
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_a2=!playpause
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
###########################################################
# Compal
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnCOMPAL:pnHEL80I:*
KEYBOARD_KEY_84=wlan
###########################################################
# COMPAQ
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*E500*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr*
KEYBOARD_KEY_a3=www # I key
KEYBOARD_KEY_9a=search
KEYBOARD_KEY_9e=email
KEYBOARD_KEY_9f=homepage
evdev:input:b0003v049Fp0051*
KEYBOARD_KEY_0c0011=presentation
KEYBOARD_KEY_0c0012=addressbook
KEYBOARD_KEY_0c0013=info
KEYBOARD_KEY_0c0014=prog1
KEYBOARD_KEY_0c0015=messenger
###########################################################
# Cube
###########################################################
evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:bvn*:bvr*:bd*:svncube:pni1-TF:*
KEYBOARD_KEY_0=leftmeta
KEYBOARD_KEY_1=power
###########################################################
# Dell
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pn*
KEYBOARD_KEY_81=playpause # Play/Pause
KEYBOARD_KEY_82=stopcd # Stop
KEYBOARD_KEY_83=previoussong # Previous song
KEYBOARD_KEY_84=nextsong # Next song
KEYBOARD_KEY_85=brightnessdown # Fn+Down Brightness Down
KEYBOARD_KEY_86=brightnessup # Fn+Up Brightness Up
KEYBOARD_KEY_87=battery # Fn+F3 battery icon
KEYBOARD_KEY_88=unknown # Fn+F2 Turn On/Off Wireless - handled in hardware
KEYBOARD_KEY_89=ejectclosecd # Fn+F10 Eject CD
KEYBOARD_KEY_8a=suspend # Fn+F1 hibernate
KEYBOARD_KEY_8b=switchvideomode # Fn+F8 CRT/LCD (high keycode: "displaytoggle")
KEYBOARD_KEY_8c=unknown # Fn+Right Auto Brightness
KEYBOARD_KEY_8f=switchvideomode # Fn+F7 aspect ratio
KEYBOARD_KEY_90=previoussong # Front panel previous song
KEYBOARD_KEY_91=prog1 # Wi-Fi Catcher (Dell-specific)
KEYBOARD_KEY_92=media # MediaDirect button (house icon)
KEYBOARD_KEY_93=unknown # FIXME Fn+Left Auto Brightness
KEYBOARD_KEY_95=camera # Shutter button - Takes a picture if optional camera available
KEYBOARD_KEY_97=email # Tablet email button
KEYBOARD_KEY_98=f21 # FIXME: Tablet screen rotation
KEYBOARD_KEY_99=nextsong # Front panel next song
KEYBOARD_KEY_9a=setup # Tablet tools button
KEYBOARD_KEY_9b=switchvideomode # Display toggle button
KEYBOARD_KEY_9e=f21 # Touchpad toggle
KEYBOARD_KEY_a2=playpause # Front panel play/pause
KEYBOARD_KEY_a4=stopcd # Front panel stop
KEYBOARD_KEY_ed=media # MediaDirect button
KEYBOARD_KEY_d8=screenlock # FIXME: Tablet lock button
KEYBOARD_KEY_d9=f21 # Touchpad toggle
#
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*910:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*101[012]:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr*
KEYBOARD_KEY_84=wlan
# Dell Inspiron 1520 and Latitude 2110
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*2110:pvr*
KEYBOARD_KEY_85=unknown # Brightness Down, also emitted by acpi-video, ignore
KEYBOARD_KEY_86=unknown # Brightness Up, also emitted by acpi-video, ignore
# Dell Inspiron 537*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron537*:pvr*
KEYBOARD_KEY_88=!wlan # Fn-PrtScr rfkill
# Latitude XT2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr*
KEYBOARD_KEY_9b=up # tablet rocker up
KEYBOARD_KEY_9e=enter # tablet rocker press
KEYBOARD_KEY_9f=back # tablet back
KEYBOARD_KEY_a3=down # tablet rocker down
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnStudio*155[78]:pvr*
KEYBOARD_KEY_a0=! # mute
KEYBOARD_KEY_ae=! # volume down
KEYBOARD_KEY_b0=! # volume up
# Dell Touchpad
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*:pvr*
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
# Dell XPS L702x
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDellInc.:pnDellSystemXPSL702X:pvr*
KEYBOARD_KEY_84=prog1
KEYBOARD_KEY_85=prog2
# Dell XPS12 9Q33
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr*
KEYBOARD_KEY_88=wlan
KEYBOARD_KEY_65=direction # Screen Rotate
# Dell Latitude microphone mute
evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*
# Dell Precision microphone mute
evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*
KEYBOARD_KEY_100150=f20 # Mic mute toggle, should be micmute
###########################################################
# Everex
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnEverex:pnXT5000*:pvr*
KEYBOARD_KEY_5c=media
KEYBOARD_KEY_65=f21 # Fn+F5 Touchpad toggle
KEYBOARD_KEY_67=prog3 # Fan speed control button
KEYBOARD_KEY_6f=brightnessup
KEYBOARD_KEY_7f=brightnessdown
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_ec=mail
##########################################
# Fujitsu
##########################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pnAMILO*M*:pvr*
KEYBOARD_KEY_97=prog2
KEYBOARD_KEY_9f=prog1
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pnAmilo*Li*1718:*
KEYBOARD_KEY_d6=wlan
# Amilo Li 2732
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pnAMILO*Li*2732:*
KEYBOARD_KEY_d9=brightnessdown # Fn+F8 brightness down
KEYBOARD_KEY_ef=brightnessup # Fn+F9 brightness up
KEYBOARD_KEY_a9=switchvideomode # Fn+F10 Cycle between available video outputs
# Amilo Pa 2548
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*AMILO*Pa*2548*:pvr*
KEYBOARD_KEY_e0=volumedown
KEYBOARD_KEY_e1=volumeup
KEYBOARD_KEY_e5=prog1
# Amilo Pro Edition V3505
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*AMILO*Pro*Edition*V3505*:pvr*
KEYBOARD_KEY_a5=help # Fn+F1
KEYBOARD_KEY_a9=switchvideomode # Fn+F3
KEYBOARD_KEY_d9=brightnessdown # Fn+F8
KEYBOARD_KEY_e0=brightnessup # Fn+F9
# Amilo Pro v3205
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*AMILO*Pro*V3205*:pvr*
KEYBOARD_KEY_f4=f21 # FIXME: silent-mode decrease CPU/GPU clock
KEYBOARD_KEY_f7=switchvideomode # Fn+F3
# Amilo Si 1520
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*Amilo*Si*1520*:pvr*
KEYBOARD_KEY_e1=wlan
KEYBOARD_KEY_f3=wlan
KEYBOARD_KEY_ee=brightnessdown
KEYBOARD_KEY_e0=brightnessup
KEYBOARD_KEY_e2=bluetooth
KEYBOARD_KEY_f7=video
# Esprimo Mobile V5
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*ESPRIMO*Mobile*V5*:pvr*
KEYBOARD_KEY_a9=switchvideomode
KEYBOARD_KEY_d9=brightnessdown
KEYBOARD_KEY_df=sleep
KEYBOARD_KEY_ef=brightnessup
# Esprimo Mobile V6
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*ESPRIMO*Mobile*V6*:pvr*
KEYBOARD_KEY_ce=brightnessup
KEYBOARD_KEY_ef=brightnessdown
###########################################################
# GIGABYTE
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pnU2442:*
KEYBOARD_KEY_a0=! # mute
###########################################################
# Gemini
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGeminiDevices:pnNC14V1006:*
KEYBOARD_KEY_9c=enter
###########################################################
# Genius
###########################################################
# Slimstar 320
evdev:input:b0003v0458p0708*
KEYBOARD_KEY_0900f0=scrollup
KEYBOARD_KEY_0900f1=scrolldown
KEYBOARD_KEY_0900f3=back
KEYBOARD_KEY_0900f2=forward
KEYBOARD_KEY_0900f5=wordprocessor
KEYBOARD_KEY_0900f6=spreadsheet
KEYBOARD_KEY_0900f4=presentation
KEYBOARD_KEY_0c0223=www
KEYBOARD_KEY_0900f7=chat
KEYBOARD_KEY_0900fb=prog1
KEYBOARD_KEY_0900f8=close
KEYBOARD_KEY_0900f9=graphicseditor
KEYBOARD_KEY_0900fd=scale
KEYBOARD_KEY_0900fc=screenlock
###########################################################
# Hewlett Packard
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pn*:pvr*
KEYBOARD_KEY_81=fn_esc
KEYBOARD_KEY_89=battery # Fn+F8
KEYBOARD_KEY_8a=screenlock # Fn+F6
KEYBOARD_KEY_8b=camera
KEYBOARD_KEY_8c=media # music
KEYBOARD_KEY_8e=dvd
KEYBOARD_KEY_b1=help
KEYBOARD_KEY_b3=unknown # FIXME: Auto brightness
KEYBOARD_KEY_d7=wlan
KEYBOARD_KEY_92=brightnessdown # Fn+F7 (Fn+F9 on 6730b)
KEYBOARD_KEY_97=brightnessup # Fn+F8 (Fn+F10 on 6730b)
KEYBOARD_KEY_ee=switchvideomode # Fn+F4
# Tablet
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[tT][aA][bB][lL][eE][tT]*:pvr*
KEYBOARD_KEY_82=prog2 # Funny Key
KEYBOARD_KEY_83=prog1 # Q
KEYBOARD_KEY_84=tab
KEYBOARD_KEY_85=esc
KEYBOARD_KEY_86=pageup
KEYBOARD_KEY_87=pagedown
# Pavilion
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[pP][aA][vV][iI][lL][iI][oO][nN]*:pvr*
KEYBOARD_KEY_88=media # FIXME: quick play
KEYBOARD_KEY_b7=print
KEYBOARD_KEY_d8=!f23 # touchpad off
KEYBOARD_KEY_d9=!f22 # touchpad on
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr*
KEYBOARD_KEY_b7=print
KEYBOARD_KEY_c2=media # FIXME: quick play
KEYBOARD_KEY_c6=break
KEYBOARD_KEY_94=reserved
# Pavilion and Spectre x360 13 (Prevents random airplane mode activation)
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[sS][pP][eE][cC][tT][rR][eE]*x360*13*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pn*[sS][pP][eE][cC][tT][rR][eE]*x360Convertible*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[pP][aA][vV][iI][lL][iI][oO][nN]*13*x360*:pvr*
KEYBOARD_KEY_d7=unknown
# Elitebook
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*EliteBook*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2230s*:pvr*
KEYBOARD_KEY_88=presentation
KEYBOARD_KEY_d9=help # I key (high keycode: "info")
# Presario
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Presario*CQ*:pvr*
KEYBOARD_KEY_d8=f21
KEYBOARD_KEY_d9=f21
# 2510p 2530p
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2510p*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2530p*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*G60*Notebook*PC:pvr*
KEYBOARD_KEY_d8=!f23 # touchpad off
KEYBOARD_KEY_d9=!f22 # touchpad on
# 2570p
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2570p*:pvr*
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
# TX2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[tT][xX]2*:pvr*
KEYBOARD_KEY_c2=media
KEYBOARD_KEY_d8=!f23 # Toggle touchpad button on tx2 (OFF)
KEYBOARD_KEY_d9=!f22 # Toggle touchpad button on tx2 (ON)
# Presario 2100
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnPresario*2100*:pvr*
KEYBOARD_KEY_f0=help
KEYBOARD_KEY_f1=screenlock
KEYBOARD_KEY_f3=search
# Elitebook 8440p
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*EliteBook*8440p:pvr*
KEYBOARD_KEY_88=www
KEYBOARD_KEY_a0=mute
KEYBOARD_KEY_ae=volumedown
KEYBOARD_KEY_b0=volumeup
KEYBOARD_KEY_ec=mail
# Elitebook 8460p
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*EliteBook*8460p:pvr*
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
KEYBOARD_KEY_b3=prog1 # Fn+F11 - Ambient Light Sensor button
KEYBOARD_KEY_b1=prog2 # Fn+ESC - System information button
# HDX9494nr
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHDX9494NR:pvr*
KEYBOARD_KEY_b2=www # Fn+F3
KEYBOARD_KEY_d8=!f23 # touchpad off
KEYBOARD_KEY_d9=!f22 # touchpad on
# HP EliteBook 725 G2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPLicrice:pvr*
# HP ProBook 440 G2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP440G2:pvr*
# several HP ProBooks 4xx
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*ProBook4*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHP*ProBook*4*:pvr*
# HP ZBook
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPZBook*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPZBook*:pvr*
KEYBOARD_KEY_81=f20 # Fn+F8; Microphone mute button, should be micmute
# HP ZBook 15 G2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPZBook15G2:pvr*
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
# HP ProBook 11 G1
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPProBook11G1:pvr*
KEYBOARD_KEY_81=f20 # Fn+F8; Microphone mute button, should be micmute
KEYBOARD_KEY_d8=f21 # touchpad toggle
KEYBOARD_KEY_d9=f21 # touchpad toggle
# HP ZBook Studio G4
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP:pnHPZBookStudioG4:pvr*
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
# HP Folio 1040g2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPEliteBookFolio1040G2:pvr*
KEYBOARD_KEY_81=f20 # Fn+F8; Microphone mute button, should be micmute
KEYBOARD_KEY_d8=!f23 # touchpad off
KEYBOARD_KEY_d9=!f22 # touchpad on
# HP ProBook 650
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*ProBook*650*:pvr*
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
# HP ProBook 6555b
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard:pnHPProBook6555b:*
KEYBOARD_KEY_b2=www # Earth
# HP ProBook 440 G3
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*ProBook*440*G3*
# HP ProBook 640 G2
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*ProBook*640*G2*
KEYBOARD_KEY_85=unknown # lid close; also reported via special evdev
KEYBOARD_KEY_f8=unknown # rf kill; also reported via special evdev
# HP ProBook 645 G4
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*ProBook*645*G4*
KEYBOARD_KEY_73=slash # Slash key
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
# HP Stream 7
# The ACPI tables contains a gpio-keys entry for a non connected GPIO
# causing spurious events, map this to unknown to disable it
# older kernels use "ev:23" newer kernels "ev:3"
evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:*:svnHewlett-Packard:pnHPStream7Tablet:*
evdev:name:gpio-keys:phys:gpio-keys/input0:ev:23:dmi:*:svnHewlett-Packard:pnHPStream7Tablet:*
KEYBOARD_KEY_0=unknown
##########################################################
# Huawei
##########################################################
# Huawei WMI hotkeys driver
evdev:name:Huawei WMI hotkeys:dmi:bvn*:bvr*:bd*:svnHUAWEI*
KEYBOARD_KEY_287=f20 # Microphone mute button, should be micmute
# Huawei MACH-WX9
evdev:atkbd:dmi:bvn*:bvr*:svnHUAWEI*:pnMACH-WX9:pvr*
KEYBOARD_KEY_f7=unknown
KEYBOARD_KEY_f8=fn
evdev:name:Huawei WMI hotkeys:dmi:bvn*:bvr*:bd*:svnHUAWEI*:pnMACH-WX9:pvr*
KEYBOARD_KEY_281=unknown # Brightness Down, also emitted by acpi-video, ignore
KEYBOARD_KEY_282=unknown # Brightness Up, also emitted by acpi-video, ignore
###########################################################
# IBM
###########################################################
# thinkpad_acpi driver
evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnIBM*:pn*:pvr*
KEYBOARD_KEY_01=battery # Fn+F2
KEYBOARD_KEY_02=screenlock # Fn+F3
KEYBOARD_KEY_03=sleep # Fn+F4
KEYBOARD_KEY_04=wlan # Fn+F5
KEYBOARD_KEY_06=switchvideomode # Fn+F7
KEYBOARD_KEY_07=zoom # Fn+F8 screen expand
KEYBOARD_KEY_08=f24 # Fn+F9 undock
KEYBOARD_KEY_0b=suspend # Fn+F12
KEYBOARD_KEY_0f=brightnessup # Fn+Home
KEYBOARD_KEY_10=brightnessdown # Fn+End
KEYBOARD_KEY_11=kbdillumtoggle # Fn+PgUp - ThinkLight
KEYBOARD_KEY_13=zoom # Fn+Space
KEYBOARD_KEY_14=volumeup
KEYBOARD_KEY_15=volumedown
KEYBOARD_KEY_16=mute
KEYBOARD_KEY_17=prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor")
# IBM Thinkpad USB Keyboard Trackpoint
evdev:input:b0003v04B3p301[89]*
KEYBOARD_KEY_900f0=screenlock
KEYBOARD_KEY_900f1=wlan
KEYBOARD_KEY_900f2=switchvideomode
KEYBOARD_KEY_900f3=suspend
KEYBOARD_KEY_900f4=brightnessup
KEYBOARD_KEY_900f5=brightnessdown
KEYBOARD_KEY_900f8=zoom
###########################################################
# Inventec
###########################################################
# Symphony
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnINVENTEC:pnSYMPHONY*6.0/7.0:pvr*
KEYBOARD_KEY_f3=prog2
KEYBOARD_KEY_f4=prog1
###########################################################
# Lenovo
###########################################################
# thinkpad_acpi driver
evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_01=screenlock
KEYBOARD_KEY_02=battery
KEYBOARD_KEY_03=sleep
KEYBOARD_KEY_04=wlan
KEYBOARD_KEY_06=switchvideomode
KEYBOARD_KEY_07=f21
KEYBOARD_KEY_08=f24
KEYBOARD_KEY_0b=suspend
KEYBOARD_KEY_0f=brightnessup
KEYBOARD_KEY_10=brightnessdown
KEYBOARD_KEY_11=kbdillumtoggle
KEYBOARD_KEY_13=zoom
KEYBOARD_KEY_14=volumeup
KEYBOARD_KEY_15=volumedown
KEYBOARD_KEY_16=mute
KEYBOARD_KEY_17=prog1
KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute
KEYBOARD_KEY_45=bookmarks
# ThinkPad Keyboard with TrackPoint
evdev:input:b0003v17EFp6009*
KEYBOARD_KEY_090012=screenlock # Fn+F2
KEYBOARD_KEY_090013=battery # Fn+F3
KEYBOARD_KEY_090014=wlan # Fn+F5
KEYBOARD_KEY_090016=switchvideomode # Fn+F7
KEYBOARD_KEY_090017=f21 # Fn+F8 touchpad toggle
KEYBOARD_KEY_090019=suspend # Fn+F12
KEYBOARD_KEY_09001a=brightnessup # Fn+Home
KEYBOARD_KEY_09001b=brightnessdown # Fn+End
KEYBOARD_KEY_09001d=zoom # Fn+Space
KEYBOARD_KEY_090011=prog1 # ThinkVantage button
KEYBOARD_KEY_090015=camera # Fn+F6 headset/camera VoIP key ??
KEYBOARD_KEY_090010=f20 # Microphone mute button; should be micmute
# Lenovo 3000
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*3000*:pvr*
KEYBOARD_KEY_8b=switchvideomode # Fn+F7 video
KEYBOARD_KEY_96=wlan # Fn+F5 wireless
KEYBOARD_KEY_97=sleep # Fn+F4 suspend
KEYBOARD_KEY_98=suspend # Fn+F12 hibernate
KEYBOARD_KEY_b4=prog1 # Lenovo Care
# "Lenovo Care" Key of the 3000 N200
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn0769AP2:pvr3000N200:*
KEYBOARD_KEY_b4=prog1
# lenovo-ideapad
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
KEYBOARD_KEY_81=rfkill # does nothing in BIOS
KEYBOARD_KEY_83=display_off # BIOS toggles screen state
KEYBOARD_KEY_b9=brightnessup # does nothing in BIOS
KEYBOARD_KEY_ba=brightnessdown # does nothing in BIOS
KEYBOARD_KEY_f1=camera # BIOS toggles camera power
KEYBOARD_KEY_f2=f21 # touchpad toggle (key alternately emits F2 and F3)
KEYBOARD_KEY_f3=f21
# Thinkpad X200_Tablet
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet*
KEYBOARD_KEY_5d=menu
KEYBOARD_KEY_63=fn
KEYBOARD_KEY_66=screenlock
KEYBOARD_KEY_67=cyclewindows # bezel circular arrow
KEYBOARD_KEY_68=setup # bezel setup / menu
KEYBOARD_KEY_6c=direction # rotate screen
# ThinkPad X6 Tablet
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X6*Tablet*
KEYBOARD_KEY_6c=direction # rotate
KEYBOARD_KEY_68=leftmeta # toolbox
KEYBOARD_KEY_6b=esc # escape
KEYBOARD_KEY_6d=right # right on d-pad
KEYBOARD_KEY_6e=left # left on d-pad
KEYBOARD_KEY_71=up # up on d-pad
KEYBOARD_KEY_6f=down # down on d-pad
KEYBOARD_KEY_69=enter # enter on d-pad
# ThinkPad X41 Tablet
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr*
KEYBOARD_KEY_6c=direction # rotate
KEYBOARD_KEY_68=leftmeta # toolbox
KEYBOARD_KEY_6b=esc # escape
KEYBOARD_KEY_69=enter # enter on d-pad
# IdeaPad
evdev:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_0d=rfkill # airplane mode switch (toggle all wireless devices)
KEYBOARD_KEY_08=f20 # micmute
KEYBOARD_KEY_42=f23
KEYBOARD_KEY_43=f22
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr*
KEYBOARD_KEY_95=media
KEYBOARD_KEY_a3=play
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr*
KEYBOARD_KEY_f1=f21
KEYBOARD_KEY_ce=f20 # micmute
evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr*
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
# Lenovo Y50-70
evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*20378*:pvr*
KEYBOARD_KEY_f3=f21 # Fn+F6 (toggle touchpad)
# V480
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr*
KEYBOARD_KEY_f1=f21
# Lenovo ThinkCentre M800z/M820z/M920z AIO machines
# key_scancode 00 is KEY_MICMUTE
evdev:name:Microphone Mute Button:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_00=f20
# enhanced USB keyboard
evdev:input:b0003v04B3p301B*
KEYBOARD_KEY_90001=prog1 # ThinkVantage
KEYBOARD_KEY_90002=screenlock
KEYBOARD_KEY_90003=file
KEYBOARD_KEY_90004=wordprocessor
KEYBOARD_KEY_90005=spreadsheet
KEYBOARD_KEY_90006=calc
KEYBOARD_KEY_90007=mail
KEYBOARD_KEY_90008=www
###########################################################
# Logitech
###########################################################
# 27MHz wireless keyboards, these all have a PID of 00?? and all send c10xx
# logitech custom consumer usage-page codes. The mappings below are the most
# common, but some mapping may differ, especially the Fn F1-F12 mappings
evdev:input:b0003v046Dp00*
KEYBOARD_KEY_c0183=media # HUT:config, kbd:Media/Music player button
KEYBOARD_KEY_c1001=chat # Messenger button
KEYBOARD_KEY_c1002=camera # Webcam button
KEYBOARD_KEY_c1003=audio # Music Browser button
KEYBOARD_KEY_c1004=video # Video Browser button
KEYBOARD_KEY_c1005=images # Image Browser button
KEYBOARD_KEY_c100a=documents # Document Browser button
KEYBOARD_KEY_c100b=rewind # Rewind button
KEYBOARD_KEY_c100c=fastforward # Fast Forward button
KEYBOARD_KEY_c100f=f14 # Track 1 button → f14 → XF86Launch5
KEYBOARD_KEY_c1010=f15 # Track 2 button → f15 → XF86Launch6
KEYBOARD_KEY_c1011=channeldown # Playlist back button
KEYBOARD_KEY_c1012=channelup # Playlist advance button
KEYBOARD_KEY_c1013=camera # Webcam button
KEYBOARD_KEY_c1014=coffee # Status button
KEYBOARD_KEY_c1015=record # Record symbol button
KEYBOARD_KEY_c1016=sound # Flame/CD burning → sound → XF86AudioPreset
KEYBOARD_KEY_c1017=ejectcd # Eject button
KEYBOARD_KEY_c1018=config # Remote-control ico
KEYBOARD_KEY_c1019=f14 # Preset 1 → f14 → XF86Launch5
KEYBOARD_KEY_c101a=f15 # Preset 2 → f15 → XF86Launch6
KEYBOARD_KEY_c101b=f16 # Preset 3 → f16 → XF86Launch7
KEYBOARD_KEY_c101c=cyclewindows # 2 overlapping windows icon
KEYBOARD_KEY_c101f=zoomout # zoom - button / - side of zoomrocker
KEYBOARD_KEY_c1020=zoomin # zoom + button / + side off zoom rocker
KEYBOARD_KEY_c1021=zoomreset # 100% symbol on kbd left side
KEYBOARD_KEY_c1023=close # [x] symbol on kbd left side
KEYBOARD_KEY_c1027=menu # Hamburger menu icon
KEYBOARD_KEY_c1028=angle # Rotate button
KEYBOARD_KEY_c1029=shuffle # Shuffle button
KEYBOARD_KEY_c102a=back # Back button
KEYBOARD_KEY_c102b=cyclewindows # Empty window icon
KEYBOARD_KEY_c102d=www # www text + magnifierglass icon
KEYBOARD_KEY_c1031=connect # Pickup phone button → connect → XF86Go
KEYBOARD_KEY_c1032=cancel # Hangup phone button → cancel → Cancel
KEYBOARD_KEY_c1041=help # Help text or icon (Fn + F1)
KEYBOARD_KEY_c1042=wordprocessor # Word icon (Fn + F2)
KEYBOARD_KEY_c1043=spreadsheet # Excel icon (Fn + F3)
KEYBOARD_KEY_c1044=presentation # Presentation icon (Fn + F4)
KEYBOARD_KEY_c1045=undo # Undo Icon (Fn + F5)
KEYBOARD_KEY_c1046=redo # Redo Icon (Fn + F6)
KEYBOARD_KEY_c1047=print # Printer Icon (Fn + F7)
KEYBOARD_KEY_c1048=save # Floppy Icon (Fn + F8)
KEYBOARD_KEY_c1049=prog1 # Smartkey A (Fn + F9) → XF86Launch1
KEYBOARD_KEY_c104a=prog2 # Smartkey B (Fn + F10) → XF86Launch2
KEYBOARD_KEY_c104b=prog3 # Smartkey C (Fn + F11) → XF86Launch3
KEYBOARD_KEY_c104c=prog4 # Smartkey D (Fn + F12) → XF86Launch4
# Cordless Access Keyboard (27 MHz, modelnumber Y-RH35)
evdev:input:b0003v046Dp0042*
KEYBOARD_KEY_c1041=new
KEYBOARD_KEY_c1042=reply
KEYBOARD_KEY_c1043=forward
KEYBOARD_KEY_c1044=send
KEYBOARD_KEY_c1045=previoussong
KEYBOARD_KEY_c1046=nextsong
KEYBOARD_KEY_c1047=playpause
KEYBOARD_KEY_c1048=stopcd
KEYBOARD_KEY_c1049=file
KEYBOARD_KEY_c104a=documents
KEYBOARD_KEY_c104b=images
KEYBOARD_KEY_c104c=audio
# "Cordless Rechargeable Desktop" keyboard (27 MHz, modelnumber Y-RK49)
evdev:input:b0003v046Dp0045*
KEYBOARD_KEY_c1041=new
KEYBOARD_KEY_c1042=reply
KEYBOARD_KEY_c1043=forward
KEYBOARD_KEY_c1044=send
KEYBOARD_KEY_c1049=file
KEYBOARD_KEY_c104a=documents
KEYBOARD_KEY_c104b=images
KEYBOARD_KEY_c104c=audio
# S510 keyboard (27 MHz, modelnumber Y-RAK73)
evdev:input:b0003v046Dp0056*
KEYBOARD_KEY_c1041=battery # Battery icon (Fn + F1)
# MX3000 keyboard (27 MHz, modelnumber Y-RAM74)
# We ignore the scroll up / down keypress events since these buttons also
# generate scroll-wheel events and we do not want to generate duplicate events
# Note if the "Special Button Function" in the HID++ features register gets
# cleared then the scroll-wheel events for these buttons go away and then
# tilting the scrollwheel left/right starts sending c1022 / c1024 events
evdev:input:b0003v046Dp0057*
KEYBOARD_KEY_c1041=battery # Battery icon (Fn + F1)
#KEYBOARD_KEY_c101d=scrolldown # Button below scrollwheel (see note above)
#KEYBOARD_KEY_c101e=scrollup # Button above scrollwheel (see note above)
#KEYBOARD_KEY_c1022=scrollleft # Left click on scroll-wheel (see note above)
#KEYBOARD_KEY_c1024=scrollright # Right click on scroll-wheel (see note above)
# MX3200 keyboard (27 MHz, modelnumber Y-RAV80)
evdev:input:b0003v046Dp005C*
KEYBOARD_KEY_c1001=phone # VOIP button
KEYBOARD_KEY_c1016=record # Record button
KEYBOARD_KEY_c1041=wordprocessor # Word icon (Fn + F1)
KEYBOARD_KEY_c1042=spreadsheet # Excel icon (Fn + F2)
KEYBOARD_KEY_c1043=calendar # Calendar icon (Fn + F3)
KEYBOARD_KEY_c1044=documents # My Documents icon (Fn + F4)
KEYBOARD_KEY_c1045=prog1 # Smartkey A (Fn + F5) → XF86Launch1
KEYBOARD_KEY_c1046=prog2 # Smartkey B (Fn + F6) → XF86Launch2
KEYBOARD_KEY_c1047=prog3 # Smartkey C (Fn + F7) → XF86Launch3
KEYBOARD_KEY_c1048=prog4 # Smartkey D (Fn + F8) → XF86Launch4
# EX100 keyboard (27 MHz, modelnumber Y-RBH94)
evdev:input:b0003v046Dp0065*
KEYBOARD_KEY_c104b=battery # Battery icon (Fn + F11)
KEYBOARD_KEY_c104c=ejectcd # Eject icon (Fn + F12)
# S520 keyboard (27 MHz, modelnumber Y-RBA97)
# Note this one uses non-standard codes for FN + F9 - Fn + F12?
evdev:input:b0003v046Dp0066*
KEYBOARD_KEY_c100e=prog4 # Smartkey D (Fn + F12) → XF86Launch4
KEYBOARD_KEY_c1019=prog1 # Smartkey A (Fn + F9) → XF86Launch1
KEYBOARD_KEY_c101a=prog2 # Smartkey B (Fn + F10) → XF86Launch2
KEYBOARD_KEY_c101b=prog3 # Smartkey C (Fn + F11) → XF86Launch3
KEYBOARD_KEY_c1041=wordprocessor # Word icon (Fn + F1)
KEYBOARD_KEY_c1042=spreadsheet # Excel icon (Fn + F2)
KEYBOARD_KEY_c1043=presentation # Presentation icon (Fn + F3)
KEYBOARD_KEY_c1044=calendar # Calendar icon (Fn + F4)
KEYBOARD_KEY_c1045=homepage # Home icon (Fn + F5)
KEYBOARD_KEY_c1046=email # Letter icon (Fn + F6)
KEYBOARD_KEY_c1047=search # Magnifying glass icon (Fn + F7)
KEYBOARD_KEY_c1048=config # Window with gear icon (Fn + F8)
KEYBOARD_KEY_c106f=battery # Battery icon
# S510 remote control (27 MHz)
evdev:input:b0003v046Dp00FE*
KEYBOARD_KEY_c1018=media # Media button
# MX5000 keyboard (HID proxy mode and bluetooth matches)
# The 4 buttons below the LCD send codes 0xc100c - 0xc100f. They only send
# these codes when the LCD is displaying text send to it. These codes are
# directly consumed by recent versions of lcdproc when it is driving the LCD,
# so these codes should not be mapped
evdev:input:b0003v046DpB305*
evdev:input:b0005v046DpB305*
KEYBOARD_KEY_c0230=zoomreset # HUT says fullscreen, kbd says 100%
KEYBOARD_KEY_c1004=send # Send and receive / sync button
KEYBOARD_KEY_c1006=coffee # Status (online/away) button
KEYBOARD_KEY_c1007=camera # Webcam button
KEYBOARD_KEY_c1038=prog1 # Smartkey A → XF86Launch1
KEYBOARD_KEY_c1039=prog2 # Smartkey B → XF86Launch2
KEYBOARD_KEY_c103a=prog3 # Smartkey C → XF86Launch3
KEYBOARD_KEY_c103b=prog4 # Smartkey D → XF86Launch4
# MX5500 keyboard (HID proxy mode and bluetooth matches)
evdev:input:b0003v046DpB30B*
evdev:input:b0005v046DpB30B*
KEYBOARD_KEY_c0183=media # HUT says consumer control configuration, kbd says Media Center
KEYBOARD_KEY_c100e=images # Camera icon, "Photo Gallery"
KEYBOARD_KEY_c100f=config # Window with gear icon
KEYBOARD_KEY_c1038=prog1 # Smartkey A → XF86Launch1
KEYBOARD_KEY_c1039=prog2 # Smartkey B → XF86Launch2
KEYBOARD_KEY_c103a=prog3 # Smartkey C → XF86Launch3
KEYBOARD_KEY_c103b=prog4 # Smartkey D → XF86Launch4
# iTouch
evdev:input:b0003v046DpC308*
KEYBOARD_KEY_90001=shop # Shopping
KEYBOARD_KEY_90002=config # iTouch
KEYBOARD_KEY_90003=finance # Finance
KEYBOARD_KEY_90004=prog1 # My Sites
KEYBOARD_KEY_90005=prog2 # Community
KEYBOARD_KEY_c0183=media # Media
# Cordless Desktop S510
evdev:input:b0003v046DpC50C*
KEYBOARD_KEY_d4=up # zoomin
KEYBOARD_KEY_cc=down # zoomout
# Wave cordless
evdev:input:b0003v046DpC317*
KEYBOARD_KEY_9001c=scale # expo
KEYBOARD_KEY_9001f=down # zoomout
KEYBOARD_KEY_90020=up # zoomin
KEYBOARD_KEY_9003d=prog1 # gadget
KEYBOARD_KEY_90005=camera
KEYBOARD_KEY_90018=media
KEYBOARD_KEY_90041=wordprocessor
KEYBOARD_KEY_90042=spreadsheet
KEYBOARD_KEY_90043=calendar
KEYBOARD_KEY_90044=prog2 # fn+f4 (program a)
KEYBOARD_KEY_90045=prog3 # fn+f5 (program b)
KEYBOARD_KEY_90046=prog4 # fn+f6 (program c)
KEYBOARD_KEY_90048=messenger # fn+f8 (msn messenger)
KEYBOARD_KEY_9002d=search # fn+f10 (search www)
KEYBOARD_KEY_9004b=find # fn+f11 (search pc)
KEYBOARD_KEY_9004c=ejectclosecd
# Wave cordless
evdev:input:b0003v046DpC517*
KEYBOARD_KEY_c101f=down # zoomout
KEYBOARD_KEY_c1020=up # zoomin
KEYBOARD_KEY_c1005=camera
KEYBOARD_KEY_c0183=media
KEYBOARD_KEY_c1041=wordprocessor
KEYBOARD_KEY_c1042=spreadsheet
KEYBOARD_KEY_c1043=calendar
KEYBOARD_KEY_c1044=prog2 # fn+f4 (program a)
KEYBOARD_KEY_c1045=prog3 # fn+f5 (program b)
KEYBOARD_KEY_c1046=prog4 # fn+f6 (program c)
KEYBOARD_KEY_c1048=messenger # fn+f8 (msn messenger)
KEYBOARD_KEY_c104a=find # fn+f10 (search www)
KEYBOARD_KEY_c104c=ejectclosecd
# Cordless Wave Pro
evdev:input:b0003v046DpC529*
KEYBOARD_KEY_0c01b6=camera
KEYBOARD_KEY_0c0183=media
KEYBOARD_KEY_0c0184=wordprocessor
KEYBOARD_KEY_0c0186=spreadsheet
KEYBOARD_KEY_0c018e=calendar
KEYBOARD_KEY_0c0223=homepage
KEYBOARD_KEY_0c01bc=messenger
KEYBOARD_KEY_0c018a=mail
KEYBOARD_KEY_0c0221=search
KEYBOARD_KEY_0c00b8=ejectcd
KEYBOARD_KEY_0c022d=up # zoomin
KEYBOARD_KEY_0c022e=down # zoomout
# Logitech Presenter R400
evdev:input:b0003v046DpC52D*
KEYBOARD_KEY_070029=presentation
KEYBOARD_KEY_07003e=presentation
KEYBOARD_KEY_070037=displaytoggle
# Internet Navigator
evdev:input:b0003v046DpC309*
KEYBOARD_KEY_90001=chat # Messenger/SMS
KEYBOARD_KEY_90002=camera # webcam
KEYBOARD_KEY_90003=prog1 # iTouch
KEYBOARD_KEY_90004=shop # Shopping
KEYBOARD_KEY_c0201=new # New (F1)
KEYBOARD_KEY_c0289=reply # Reply mail (F2)
KEYBOARD_KEY_c028b=forwardmail # Forward mail (F3)
KEYBOARD_KEY_c028c=send # Send (F4)
KEYBOARD_KEY_c021a=undo # Undo (F5)
KEYBOARD_KEY_c0279=redo # Redo (F6)
KEYBOARD_KEY_c0208=print # Print (F7)
KEYBOARD_KEY_c0207=save # Save (F8)
KEYBOARD_KEY_c0194=file # My Computer (F9)
KEYBOARD_KEY_c01a7=documents # My Documents (F10)
KEYBOARD_KEY_c01b6=images # My Pictures (F11)
KEYBOARD_KEY_c01b7=audio # My Music (F12)
###########################################################
# Maxdata
###########################################################
# Pro 7000
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMAXDATA:pnPro*7000*:pvr*
KEYBOARD_KEY_97=prog2
KEYBOARD_KEY_9f=prog1
KEYBOARD_KEY_a0=mute # Fn+F5
KEYBOARD_KEY_82=www
KEYBOARD_KEY_ec=email
KEYBOARD_KEY_ae=volumedown # Fn+Down
KEYBOARD_KEY_b0=volumeup # Fn+Up
KEYBOARD_KEY_df=suspend # Fn+F2
KEYBOARD_KEY_f5=help
###########################################################
# Medion
###########################################################
# 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
KEYBOARD_KEY_b0=!volumeup
KEYBOARD_KEY_19=!p
KEYBOARD_KEY_df=sleep
# FID2060
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMEDION*:pn*FID2060*:pvr*
KEYBOARD_KEY_6b=channeldown # Thottle Down
KEYBOARD_KEY_6d=channelup # Thottle Up
# NB-A555
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMEDIONNB:pnA555*:pvr*
KEYBOARD_KEY_63=www # N button
KEYBOARD_KEY_66=prog1 # link 1 button
KEYBOARD_KEY_67=email # envelope button
KEYBOARD_KEY_69=prog2 # link 2 button
# Erazer
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMedion*:pnErazer*:pvr*
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
###########################################################
# Microsoft
###########################################################
# Microsoft Natural Ergonomic Keyboard 4000
evdev:input:b0003v045Ep00DB*
KEYBOARD_KEY_c022d=up # zoomin
KEYBOARD_KEY_c022e=down # zoomout
# Microsoft (Razer produced) Reclusa keyboard
evdev:input:b0003v1532p0200*
KEYBOARD_KEY_c01c9=shuffle
KEYBOARD_KEY_c01ca=up # zoomin
KEYBOARD_KEY_c01cb=down # zoomout
###########################################################
# Micro Star
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*
KEYBOARD_KEY_a0=mute # Fn+F9
KEYBOARD_KEY_ae=volumedown # Fn+F7
KEYBOARD_KEY_b0=volumeup # Fn+F8
KEYBOARD_KEY_b2=www # e button
KEYBOARD_KEY_df=sleep # Fn+F12
KEYBOARD_KEY_e2=bluetooth # satellite dish2
KEYBOARD_KEY_e4=f21 # Fn+F3 Touchpad disable
KEYBOARD_KEY_ec=email # envelope button
KEYBOARD_KEY_ee=camera # Fn+F6 camera disable
KEYBOARD_KEY_f6=wlan # satellite dish1
KEYBOARD_KEY_f7=brightnessdown # Fn+F4
KEYBOARD_KEY_f8=brightnessup # Fn+F5
KEYBOARD_KEY_f9=search
#
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnGE60*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnGE70*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*:pvr*
KEYBOARD_KEY_c2=ejectcd
# some MSI models generate ACPI/input events on the LNXVIDEO input devices,
# plus some extra synthesized ones on atkbd as an echo of actually changing the
# brightness; so ignore those atkbd ones, to avoid loops
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U-100*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U100*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*N033:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*VR420*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*PR200*:pvr*
KEYBOARD_KEY_f7=reserved
KEYBOARD_KEY_f8=reserved
# MSI Wind U90/U100 generates separate touchpad on/off keycodes so ignore touchpad toggle keycode
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnU90/U100:*
KEYBOARD_KEY_e4=reserved
###########################################################
# MSI
###########################################################
evdev:name:MSI Laptop hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnM[iI][cC][rR][oO]-S[tT][aA][rR]*:pvr*
KEYBOARD_KEY_0213=f22
KEYBOARD_KEY_0214=f23
###########################################################
# OLPC
###########################################################
# XO-1 and XO-1.5
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:*
# XO-1.75 and XO-1.4 (sp/ is the Security Processor)
evdev:name:AT Translated Set 2 keyboard:phys:sp/serio*/input*:ev:120013:*
KEYBOARD_LED_CAPSLOCK=0
KEYBOARD_LED_NUMLOCK=0
KEYBOARD_KEY_59=fn
KEYBOARD_KEY_81=fn_esc
KEYBOARD_KEY_f9=camera
KEYBOARD_KEY_f8=sound # Fn+CAMERA = Mic
KEYBOARD_KEY_43=brightnessdown
KEYBOARD_KEY_44=brightnessup
KEYBOARD_KEY_57=volumedown
KEYBOARD_KEY_58=volumeup
KEYBOARD_KEY_bb=f1
KEYBOARD_KEY_bc=f2
KEYBOARD_KEY_bd=f3
KEYBOARD_KEY_be=f4
KEYBOARD_KEY_bf=f5
KEYBOARD_KEY_c0=f6
KEYBOARD_KEY_c1=f7
KEYBOARD_KEY_c2=f8
KEYBOARD_KEY_c3=f9
KEYBOARD_KEY_c4=f10
KEYBOARD_KEY_d8=f12
KEYBOARD_KEY_f7=f13
KEYBOARD_KEY_f6=f14
KEYBOARD_KEY_f5=f15
KEYBOARD_KEY_f4=f16
KEYBOARD_KEY_f3=f17
KEYBOARD_KEY_f2=f18
KEYBOARD_KEY_f1=f19
KEYBOARD_KEY_f0=f20 # micmute
KEYBOARD_KEY_ef=f21
KEYBOARD_KEY_ee=chat
KEYBOARD_KEY_e4=chat
KEYBOARD_KEY_dd=menu # Frame
KEYBOARD_KEY_da=prog1 # Fn+Frame
KEYBOARD_KEY_d3=delete
KEYBOARD_KEY_d2=insert
KEYBOARD_KEY_c9=pageup
KEYBOARD_KEY_d1=pagedown
KEYBOARD_KEY_c7=home
KEYBOARD_KEY_cf=end
KEYBOARD_KEY_73=hp
KEYBOARD_KEY_7e=hp
KEYBOARD_KEY_db=leftmeta # left grab
KEYBOARD_KEY_dc=rightmeta # right grab
KEYBOARD_KEY_85=rightmeta # Right grab releases on a different scancode
KEYBOARD_KEY_d6=kbdillumtoggle # Fn+Space
KEYBOARD_KEY_69=rotate_display
KEYBOARD_KEY_65=btn_dpad_up
KEYBOARD_KEY_66=btn_dpad_down
KEYBOARD_KEY_67=btn_dpad_left
KEYBOARD_KEY_68=btn_dpad_right
KEYBOARD_KEY_e5=btn_north
KEYBOARD_KEY_e6=btn_south
KEYBOARD_KEY_e7=btn_west
KEYBOARD_KEY_e8=btn_east
###########################################################
# Onkyo
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnONKYO*CORPORATION:pnONKYOPC:*
KEYBOARD_KEY_a0=mute # Fn+D
KEYBOARD_KEY_ae=volumedown # Fn+F
KEYBOARD_KEY_b0=volumeup # Fn+G
KEYBOARD_KEY_df=sleep # Fn+W
KEYBOARD_KEY_e0=bluetooth # Fn+H
KEYBOARD_KEY_e2=cyclewindows # Fn+Esc
KEYBOARD_KEY_ee=battery # Fn+Q
KEYBOARD_KEY_f0=media # Fn+R
KEYBOARD_KEY_f5=switchvideomode # Fn+E
KEYBOARD_KEY_f6=camera # Fn+T
KEYBOARD_KEY_f7=f21 # Fn+Y (touchpad toggle)
KEYBOARD_KEY_f8=brightnessup # Fn+S
KEYBOARD_KEY_f9=brightnessdown # Fn+A
KEYBOARD_KEY_fb=wlan # Fn+J
###########################################################
# OQO
###########################################################
# Model 2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr*
KEYBOARD_KEY_8e=wlan
KEYBOARD_KEY_f0=switchvideomode
KEYBOARD_KEY_f1=mute
KEYBOARD_KEY_f2=volumedown
KEYBOARD_KEY_f3=volumeup
###########################################################
# Plantronics
###########################################################
# Plantronics .Audio 626 DSP
evdev:input:b0003v047FpC006*
KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute
###########################################################
# Purism
###########################################################
# Purism Librem 13 V2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v2*:pvr*
KEYBOARD_KEY_56=backslash
# Purism Librem 13 V3
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v3*:pvr*
KEYBOARD_KEY_56=backslash
# Purism Librem 13 V4
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v4*:pvr*
KEYBOARD_KEY_56=backslash
###########################################################
# Quanta
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*:rvnQuanta:rn30B7:rvr65.2B:*
KEYBOARD_KEY_88=media # "quick play
###########################################################
# Samsung
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*
KEYBOARD_KEY_74=prog1 # User key
KEYBOARD_KEY_75=www
KEYBOARD_KEY_78=mail
KEYBOARD_KEY_82=!switchvideomode # Fn+F4 CRT/LCD (high keycode: "displaytoggle")
KEYBOARD_KEY_83=!battery # Fn+F2
KEYBOARD_KEY_84=!prog1 # Fn+F5 backlight on/off
KEYBOARD_KEY_86=!wlan # Fn+F9
KEYBOARD_KEY_88=!brightnessup # Fn+Up
KEYBOARD_KEY_89=!brightnessdown # Fn+Down
KEYBOARD_KEY_b1=!prog2 # Fn+F7 run Samsung Magic Doctor (keypressed event is generated twice)
KEYBOARD_KEY_b3=!prog3 # Fn+F8 switch power mode (battery/dynamic/performance)
KEYBOARD_KEY_b4=!wlan # Fn+F9 (X60P)
KEYBOARD_KEY_c5=!prog3 # Fn+F8 switch power mode (battery/dynamic/performance)
KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch
KEYBOARD_KEY_f7=!f22 # Fn+F10 Touchpad on
KEYBOARD_KEY_f9=!f23 # Fn+F10 Touchpad off
# Series 3
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*300E[457]*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*200E[45]*:pvr*
KEYBOARD_KEY_ce=! # Fn+F1 launch control setting
# Series 5
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*530U*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_a8=! # Fn Lock - Function lock on
KEYBOARD_KEY_a9=! # Fn Lock - Function lock off
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_a8=! # Fn Lock - Function lock on
KEYBOARD_KEY_a9=! # Fn Lock - Function lock off
# Series 7 / 9
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*350V*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*670Z*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_a0=!mute # Fn+F6 mute
KEYBOARD_KEY_ae=!volumedown # Fn+F7
KEYBOARD_KEY_b0=!volumeup # Fn+F8
KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down
KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up
KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr*
KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up
KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down
KEYBOARD_KEY_96=! # Fn+F1 performance mode (?)
KEYBOARD_KEY_97=! # Fn+F12 Wi-Fi toggle
KEYBOARD_KEY_d5=! # Fn+F6 battery life extender
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_8d=!prog3 # Fn+F6 performance mode
KEYBOARD_KEY_97=!kbdillumdown # Fn+F7 keyboard backlight down
KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up
KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle
# Series 7 Ultra
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down
KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up
KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer
KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch
# ATIV Book 6 / 8
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*[68][78]0Z*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up
KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down
# SQ1US
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr*
KEYBOARD_KEY_d4=menu
KEYBOARD_KEY_d8=f1
KEYBOARD_KEY_d9=f10
KEYBOARD_KEY_d6=f3
KEYBOARD_KEY_d7=f9
KEYBOARD_KEY_e4=f5
KEYBOARD_KEY_ee=f11
# SX20S
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*SX20S*:pvr*
KEYBOARD_KEY_74=mute
KEYBOARD_KEY_75=mute
KEYBOARD_KEY_77=f22 # Touchpad on
KEYBOARD_KEY_79=f23 # Touchpad off
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700T*:pvr*
KEYBOARD_KEY_ad=leftmeta
###########################################################
# SONY
###########################################################
# sony-laptop driver
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*
KEYBOARD_KEY_06=mute # Fn+F2
KEYBOARD_KEY_07=volumedown # Fn+F3
KEYBOARD_KEY_08=volumeup # Fn+F4
KEYBOARD_KEY_09=brightnessdown # Fn+F5
KEYBOARD_KEY_0a=brightnessup # Fn+F6
KEYBOARD_KEY_0b=switchvideomode # Fn+F7
KEYBOARD_KEY_0e=zoom # Fn+F10
KEYBOARD_KEY_10=suspend # Fn+F12
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-C1*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-K25*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-F[1-6]*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-FX*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-FRV*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-GR*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-TR*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-NV*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-Z*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*VGN-S360*:pvr*
KEYBOARD_KEY_06=battery
KEYBOARD_KEY_07=mute
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-AR71*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-FW*:pvr*
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-Z21*:pvr*
KEYBOARD_KEY_00=brightnessdown # Fn+F5
KEYBOARD_KEY_10=brightnessup # Fn+F6
KEYBOARD_KEY_11=switchvideomode # Fn+F7
KEYBOARD_KEY_12=down # zoomout
KEYBOARD_KEY_14=up # zoomin
KEYBOARD_KEY_15=suspend # Fn+F12
KEYBOARD_KEY_17=prog1
KEYBOARD_KEY_20=media
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-FW250*:pvr*
KEYBOARD_KEY_10=suspend # Fn+F12
evdev:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVPC*:pvr*
KEYBOARD_KEY_05=f21 # Fn+F1 -> KEY_F21 (The actual touchpad toggle)
KEYBOARD_KEY_0d=down # Fn+F9 zoomout
KEYBOARD_KEY_0e=up # Fn+F10 zoomin
###########################################################
# System76
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnSystem76*:pn*
KEYBOARD_KEY_f7=f21 # Touchpad toggle
KEYBOARD_KEY_f8=f21 # Touchpad toggle
###########################################################
# T-bao
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnT-bao:pnTbookair:pvr*
KEYBOARD_KEY_76=f21 # Touchpad toggle
###########################################################
# Toshiba
###########################################################
# Satellite A100
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSATELLITE*A100:pvr*
KEYBOARD_KEY_a4=stopcd
KEYBOARD_KEY_b2=www
# Satellite A110
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*A110:pvr*
KEYBOARD_KEY_92=stop
KEYBOARD_KEY_93=www
KEYBOARD_KEY_94=media
KEYBOARD_KEY_9e=f22 # Touchpad on
KEYBOARD_KEY_9f=f23 # Touchpad off
KEYBOARD_KEY_b9=nextsong
KEYBOARD_KEY_d9=brightnessup
KEYBOARD_KEY_ee=screenlock
KEYBOARD_KEY_f4=previoussong
KEYBOARD_KEY_f7=playpause
# Satellite M30X
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*M30X:pvr*
KEYBOARD_KEY_ef=brightnessdown
KEYBOARD_KEY_d9=brightnessup
KEYBOARD_KEY_ee=screenlock
KEYBOARD_KEY_93=media
KEYBOARD_KEY_9e=f22 # touchpad enable
KEYBOARD_KEY_9f=f23 # touchpad disable
# Satellite P75-A
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75-A:pvr*
KEYBOARD_KEY_ef=brightnessdown
KEYBOARD_KEY_ee=brightnessup
KEYBOARD_KEY_a9=switchvideomode # switch display outputs
KEYBOARD_KEY_d4=wlan # RF Switch Off
# Satellite U940
evdev:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSATELLITEU940:pvr*
KEYBOARD_KEY_13c=brightnessdown
KEYBOARD_KEY_13d=brightnessup
KEYBOARD_KEY_13e=switchvideomode
KEYBOARD_KEY_13f=f21 # Touchpad toggle
# Satellite P75-A7200
evdev:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75-A:pvr*
KEYBOARD_KEY_13c=brightnessdown
KEYBOARD_KEY_13d=brightnessup
KEYBOARD_KEY_13e=switchvideomode
KEYBOARD_KEY_13f=f21 # Touchpad toggle
KEYBOARD_KEY_9e=wlan
###########################################################
# VIA
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnVIA:pnK8N800:pvr*
KEYBOARD_KEY_81=prog1
###########################################################
# VIOS
###########################################################
evdev:name:SIPODEV USB Composite Device:dmi:bvn*:bvr*:bd*:svnVIOS:pnLTH17:pvr*
KEYBOARD_KEY_70073=f21 # Touchpad toggle
###########################################################
# Zepto
###########################################################
# Znote
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnZepto:pnZnote:*
KEYBOARD_KEY_93=switchvideomode # Fn+F3 Toggle Video Output
KEYBOARD_KEY_95=brightnessdown # Fn+F4 Brightness Down
KEYBOARD_KEY_91=brightnessup # Fn+F5 Brightness Up
KEYBOARD_KEY_a5=f23 # Fn+F6 Disable Touchpad
KEYBOARD_KEY_a6=f22 # Fn+F6 Enable Touchpad
KEYBOARD_KEY_a7=bluetooth # Fn+F10 Enable Bluetooth
KEYBOARD_KEY_a9=bluetooth # Fn+F10 Disable Bluetooth
KEYBOARD_KEY_f1=wlan # RF Switch Off
KEYBOARD_KEY_f2=wlan # RF Switch On
KEYBOARD_KEY_f4=prog1 # P1 Button
KEYBOARD_KEY_f3=prog2 # P2 Button
KEYBOARD_KEY_a0=! # mute
KEYBOARD_KEY_ae=! # volume down
KEYBOARD_KEY_b0=! # volume up
# Znote 6615WD
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnZepto:pnZnote*6615WD:*
KEYBOARD_KEY_a0=! # mute
KEYBOARD_KEY_ae=! # volume down
KEYBOARD_KEY_b0=! # volume up
##########################################
# Ideazon
##########################################
# Ideazon Zboard Merc
evdev:input:b0003v1038p0210*
KEYBOARD_KEY_c0227=q
KEYBOARD_KEY_c0223=w
KEYBOARD_KEY_c0221=e
KEYBOARD_KEY_c0224=a
KEYBOARD_KEY_c0226=s
KEYBOARD_KEY_c0225=d
KEYBOARD_KEY_c0192=tab
KEYBOARD_KEY_c018a=leftalt
KEYBOARD_KEY_c022a=r
KEYBOARD_KEY_c0183=f10
KEYBOARD_KEY_70059=1
KEYBOARD_KEY_7005a=2
KEYBOARD_KEY_7005b=3
KEYBOARD_KEY_7005c=4
KEYBOARD_KEY_7005d=5
KEYBOARD_KEY_7005e=6
KEYBOARD_KEY_7005f=7
KEYBOARD_KEY_70060=8
KEYBOARD_KEY_70061=9
KEYBOARD_KEY_70062=0
KEYBOARD_KEY_70057=equal
KEYBOARD_KEY_70077=capslock
KEYBOARD_KEY_70054=leftshift
KEYBOARD_KEY_70063=leftctrl
KEYBOARD_KEY_7006b=t
KEYBOARD_KEY_70067=f
KEYBOARD_KEY_7006c=g
KEYBOARD_KEY_7006d=v
KEYBOARD_KEY_7006e=b
KEYBOARD_KEY_70074=p
KEYBOARD_KEY_7006f=c
KEYBOARD_KEY_70055=space
KEYBOARD_KEY_70076=f9
KEYBOARD_KEY_70046=f11
KEYBOARD_KEY_70079=f6
# Ideazon Zboard Fang
evdev:input:b0003v1038p0310*
KEYBOARD_KEY_70059=1
KEYBOARD_KEY_7005b=3
KEYBOARD_KEY_70040=equal
KEYBOARD_KEY_70042=l
KEYBOARD_KEY_7002b=tab
KEYBOARD_KEY_7005e=capslock
KEYBOARD_KEY_700e2=leftalt
KEYBOARD_KEY_700e1=leftshift
KEYBOARD_KEY_700e0=leftctrl
KEYBOARD_KEY_70038=z
KEYBOARD_KEY_7003e=t
KEYBOARD_KEY_70015=r
KEYBOARD_KEY_70010=g
KEYBOARD_KEY_70050=n
KEYBOARD_KEY_70030=f9
KEYBOARD_KEY_7002f=f11
KEYBOARD_KEY_70046=f6
###########################################################
# Other
###########################################################
# Common Volume Keys
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFUJITSU*SIEMENS:pnAMILO*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnFOXCONN:pnQBOOK:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMTC:pn*:pvrA0:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMio*Technology:pnN890:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPEGATRON*CORP.:pnSpring*Peak:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*[uU][35]0[05]*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSATELLITE*[uU][35]0[05]*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*Pro*[uU]300*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnEQUIUM [uU][35]0[05]*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnViooo*Corporation:pnPT17:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHANNspree:pnSN10E100:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pni1520M:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnBenQ:pn*nScreen*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnBenQ:pnJoybook*Lite*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDIXONSP:pnDIXON*:pvr*
KEYBOARD_KEY_a0=! # mute
KEYBOARD_KEY_ae=! # volume down
KEYBOARD_KEY_b0=! # volume up
######################### 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*
# Yubico Yubikey NEO OTP+CCID
evdev:input:b0003v1050p0111*
# Yubico Yubikey NEO OTP+U2F+CCID
evdev:input:b0003v1050p0116*
# OKE Electron Company USB barcode reader
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
# PFU Limited HHKB Professional JP
evdev:input:b0003v04FEp000D*
KEYBOARD_LED_NUMLOCK=0
KEYBOARD_LED_CAPSLOCK=0
# Lenovo ThinkPad T430s
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT430s
KEYBOARD_LED_CAPSLOCK=0
# Lenovo ThinkPad T440s
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT440s
KEYBOARD_LED_CAPSLOCK=0
# Lenovo ThinkPad T450s
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT450s
KEYBOARD_LED_CAPSLOCK=0
# Lenovo ThinkPad T560s
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT560s
KEYBOARD_LED_CAPSLOCK=0
KEYBOARD_LED_NUMLOCK=0
# Lenovo ThinkPad X1 Carbon 3rd Gen
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Carbon3rd
KEYBOARD_LED_CAPSLOCK=0
######################### FIXED MODEL DEVICES #############################
# This section lists devices which require special handling in their key
# code to keysym mapping by setting the xkb model.
# The model must be an xkb compatible model (defined with XKB_FIXED_MODEL).
# Chromebooks
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:pvr*
XKB_FIXED_MODEL="chromebook"