summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hwdb/60-sensor.hwdb6
-rwxr-xr-xhwdb/parse_hwdb.py7
2 files changed, 13 insertions, 0 deletions
diff --git a/hwdb/60-sensor.hwdb b/hwdb/60-sensor.hwdb
index 11d5e8349d..02bae3e765 100644
--- a/hwdb/60-sensor.hwdb
+++ b/hwdb/60-sensor.hwdb
@@ -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
#########################################
diff --git a/hwdb/parse_hwdb.py b/hwdb/parse_hwdb.py
index d84fba2221..fcc9a65e2b 100755
--- a/hwdb/parse_hwdb.py
+++ b/hwdb/parse_hwdb.py
@@ -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)