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:
Lennart Poettering 2019-04-28 17:43:54 +02:00 committed by GitHub
commit 8b6cd93044
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View File

@ -57,6 +57,12 @@
# automatically flip their output for an upside-down display when the device
# 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
#########################################

View File

@ -126,6 +126,7 @@ def property_grammar():
('KEYBOARD_LED_NUMLOCK', Literal('0')),
('KEYBOARD_LED_CAPSLOCK', Literal('0')),
('ACCEL_MOUNT_MATRIX', mount_matrix),
('ACCEL_LOCATION', STRING),
)
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
for name, val in props]
@ -177,6 +178,10 @@ def check_one_default(prop, settings):
if len(defaults) > 1:
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):
numbers = [s for s in value if s not in {';', ','}]
if len(numbers) != 9:
@ -219,6 +224,8 @@ def check_properties(groups):
check_one_default(prop, parsed.VALUE.SETTINGS)
elif parsed.NAME == 'ACCEL_MOUNT_MATRIX':
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_'):
check_one_keycode(prop, parsed.VALUE)