1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-21 22:04:01 +03:00

hwdb: Tag IR cameras as such

So that front-ends can ignore them if they wish to.

See https://gitlab.gnome.org/GNOME/cheese/-/merge_requests/4
This commit is contained in:
Bastien Nocera 2021-10-26 12:17:27 +02:00
parent 63fbfc598f
commit e78e11d8c5
5 changed files with 39 additions and 0 deletions

25
hwdb.d/70-cameras.hwdb Normal file
View File

@ -0,0 +1,25 @@
# This file is part of systemd.
#
# Database for webcam and camera quirks.
#
# Permitted keys:
# Specify if a camera is an infra-red camera
# ID_INFRARED_CAMERA=1|0
# Specify if a camera is front or rear facing
# ID_CAMERA_DIRECTION=front|rear
# Generic
camera:usb:v*p*:name:*IR Camera*:
ID_INFRARED_CAMERA=1
###########################################################
# Philips
###########################################################
# Philips 346p1crh display
camera:usb:v04f2pb612:name:*USB2.0 FHD UVC WebCam* IR Camer*:
ID_INFRARED_CAMERA=1
ID_CAMERA_DIRECTION=front
camera:usb:v04f2pb612:name:*USB2.0 FHD UVC WebCam* USB2.0 F*:
ID_CAMERA_DIRECTION=front

View File

@ -28,6 +28,7 @@ hwdb_files_test = files('''
60-seat.hwdb
60-sensor.hwdb
70-analyzers.hwdb
70-cameras.hwdb
70-joystick.hwdb
70-mouse.hwdb
70-pointingstick.hwdb

View File

@ -74,6 +74,7 @@ TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
'keyboard': ('name', ),
'sensor': ('modalias', ),
'ieee1394-unit-function' : ('node', ),
'camera': ('usb'),
}
# Patterns that are used to set general properties on a device
@ -167,6 +168,8 @@ def property_grammar():
('ID_VENDOR_FROM_DATABASE', name_literal),
('ID_MODEL_FROM_DATABASE', name_literal),
('ID_TAG_MASTER_OF_SEAT', Literal('1')),
('ID_INFRARED_CAMERA', Or((Literal('0'), Literal('1')))),
('ID_CAMERA_DIRECTION', Or(('front', 'rear'))),
)
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
for name, val in props]

9
rules.d/70-camera.rules Normal file
View File

@ -0,0 +1,9 @@
# do not edit this file, it will be overwritten on update
ACTION=="remove", GOTO="camera_end"
SUBSYSTEM=="video4linux", ENV{ID_BUS}="usb" , \
IMPORT{builtin}="hwdb 'camera:usb:v$env{ID_VENDOR_ID}p$env{ID_MODEL_ID}:name:$attr{name}:'", \
GOTO="camera_end"
LABEL="camera_end"

View File

@ -19,6 +19,7 @@ rules = files('''
60-persistent-v4l.rules
60-sensor.rules
60-serial.rules
70-camera.rules
70-joystick.rules
70-mouse.rules
70-touchpad.rules