mirror of
https://github.com/systemd/systemd.git
synced 2025-02-27 01:57:35 +03:00
Merge pull request #12322 from ljmf00/hwdb-accel-location-patch
Add support for ACCEL_LOCATION udev property to deal with 2 sensors
This commit is contained in:
commit
8b6cd93044
@ -57,6 +57,12 @@
|
|||||||
# automatically flip their output for an upside-down display when the device
|
# automatically flip their output for an upside-down display when the device
|
||||||
# is held upright.
|
# is held upright.
|
||||||
#
|
#
|
||||||
|
# ACCEL_LOCATION=<location>
|
||||||
|
#
|
||||||
|
# where <location> is the location of the sensor. This value could be 'base'
|
||||||
|
# or 'display'. The default, when unset, is equivalent to:
|
||||||
|
# ACCEL_LOCATION=display
|
||||||
|
#
|
||||||
# Sort by brand, model
|
# Sort by brand, model
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
|
@ -126,6 +126,7 @@ def property_grammar():
|
|||||||
('KEYBOARD_LED_NUMLOCK', Literal('0')),
|
('KEYBOARD_LED_NUMLOCK', Literal('0')),
|
||||||
('KEYBOARD_LED_CAPSLOCK', Literal('0')),
|
('KEYBOARD_LED_CAPSLOCK', Literal('0')),
|
||||||
('ACCEL_MOUNT_MATRIX', mount_matrix),
|
('ACCEL_MOUNT_MATRIX', mount_matrix),
|
||||||
|
('ACCEL_LOCATION', STRING),
|
||||||
)
|
)
|
||||||
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
|
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
|
||||||
for name, val in props]
|
for name, val in props]
|
||||||
@ -177,6 +178,10 @@ def check_one_default(prop, settings):
|
|||||||
if len(defaults) > 1:
|
if len(defaults) > 1:
|
||||||
error('More than one star entry: {!r}', prop)
|
error('More than one star entry: {!r}', prop)
|
||||||
|
|
||||||
|
def check_one_accel_location(prop, value):
|
||||||
|
if value not in ['base', 'display']:
|
||||||
|
error('Wrong accel location: {!r}', prop)
|
||||||
|
|
||||||
def check_one_mount_matrix(prop, value):
|
def check_one_mount_matrix(prop, value):
|
||||||
numbers = [s for s in value if s not in {';', ','}]
|
numbers = [s for s in value if s not in {';', ','}]
|
||||||
if len(numbers) != 9:
|
if len(numbers) != 9:
|
||||||
@ -219,6 +224,8 @@ def check_properties(groups):
|
|||||||
check_one_default(prop, parsed.VALUE.SETTINGS)
|
check_one_default(prop, parsed.VALUE.SETTINGS)
|
||||||
elif parsed.NAME == 'ACCEL_MOUNT_MATRIX':
|
elif parsed.NAME == 'ACCEL_MOUNT_MATRIX':
|
||||||
check_one_mount_matrix(prop, parsed.VALUE)
|
check_one_mount_matrix(prop, parsed.VALUE)
|
||||||
|
elif parsed.NAME == 'ACCEL_LOCATION':
|
||||||
|
check_one_accel_location(prop, parsed.VALUE)
|
||||||
elif parsed.NAME.startswith('KEYBOARD_KEY_'):
|
elif parsed.NAME.startswith('KEYBOARD_KEY_'):
|
||||||
check_one_keycode(prop, parsed.VALUE)
|
check_one_keycode(prop, parsed.VALUE)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user