From 125cb47adf05421d00e25aee4a143ef2c473aeb9 Mon Sep 17 00:00:00 2001
From: Davide Cavalca <davide@cavalca.name>
Date: Sun, 30 Jan 2022 09:28:52 -0800
Subject: [PATCH] hwdb: add new database file for PDA devices
Add a new database for handhelds (PDAs, calculators, etc.) that should be
accessible the seat owner.
The database is initially populated with Texas Instruments calculators
and linking cables, which removes the need to installing dedicated udev
rules for them.
(cherry picked from commit 7d75376e1f0a83dba76d3a08edbb50923e02e3d3)
Related: #2087778
---
hwdb.d/70-pda.hwdb | 39 +++++++++++++++++++++++++++++++++++++++
hwdb.d/meson.build | 1 +
hwdb.d/parse_hwdb.py | 1 +
3 files changed, 41 insertions(+)
create mode 100644 hwdb.d/70-pda.hwdb
diff --git a/hwdb.d/70-pda.hwdb b/hwdb.d/70-pda.hwdb
new file mode 100644
index 0000000000..e122acca6f
--- /dev/null
+++ b/hwdb.d/70-pda.hwdb
@@ -0,0 +1,39 @@
+# This file is part of systemd.
+#
+# Database for handhelds (PDAs, calculators, etc.) that should be accessible
+# the seat owner.
+#
+# Permitted keys:
+# Specify if a device is a signal analyzer
+# ID_PDA=1|0
+
+###########################################################
+# Texas Instruments
+###########################################################
+# SilverLink
+usb:v0451pE001*
+ ID_PDA=1
+
+# TI-84 Plus DirectLink
+usb:v0451pE003*
+ ID_PDA=1
+
+# TI-89 Titanium DirectLink
+usb:v0451pE004*
+ ID_PDA=1
+
+# TI-84 Plus Silver Edition DirectLink
+usb:v0451pE008*
+ ID_PDA=1
+
+# TI-Nspire DirectLink
+usb:v0451pE012*
+ ID_PDA=1
+
+# TI-Nspire Lab Cradle
+usb:v0451pE01C*
+ ID_PDA=1
+
+# TI-Nspire CX II DirectLink
+usb:v0451pE022*
+ ID_PDA=1
diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build
index 8ff044131c..fc72ebb2bd 100644
--- a/hwdb.d/meson.build
+++ b/hwdb.d/meson.build
@@ -31,6 +31,7 @@ hwdb_files_test = files('''
70-cameras.hwdb
70-joystick.hwdb
70-mouse.hwdb
+ 70-pda.hwdb
70-pointingstick.hwdb
70-touchpad.hwdb
80-ieee1394-unit-function.hwdb
diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py
index aef0331ace..194a71ac08 100755
--- a/hwdb.d/parse_hwdb.py
+++ b/hwdb.d/parse_hwdb.py
@@ -136,6 +136,7 @@ def property_grammar():
('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER),
('ID_AUTOSUSPEND', Or((Literal('0'), Literal('1')))),
('ID_PERSIST', Or((Literal('0'), Literal('1')))),
+ ('ID_PDA', Or((Literal('0'), Literal('1')))),
('ID_INPUT', Or((Literal('0'), Literal('1')))),
('ID_INPUT_ACCELEROMETER', Or((Literal('0'), Literal('1')))),
('ID_INPUT_JOYSTICK', Or((Literal('0'), Literal('1')))),