You can read /proc/bus/input/devices to get details of your existing input devices.
Depending on your hardware's name, you could do something like that and check if there is any output:
cat /proc/bus/input/devices | grep "Name=" | grep "Touch"
This is the full output of /proc/bus/input/devices:
I: Bus=0011 Vendor=0002 Product=0008 Version=2222
N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input2
H: Handlers=mouse1 event2 ts1
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003
[...] (blank line, next device)
The B in front stands for bitmap, N, P, S, U, H are simply first
letter in corresponding name value and I is for ID. In ordered
fashion:
I → @id: id of the device (struct input_id)
Bus → id.bustype
Vendor → id.vendor
Product → id.product
Version → id.version
N → name of the device
P → physical path to the device in the system hierarchy
S → sysfs path
U → unique identification code for the device (if device has it)
H → list of input handles associated with the device
B → bitmaps
PROP → device properties and quirks
EV → types of events supported by the device
KEY → keys/buttons this device has
MSC → miscellaneous events supported by the device
LED → leds present on the device
REL → relative address
ABS → absolute address
To test if the device is actually attached, you can try simulating events and see if you get any errors:
input tap [x] [y]
Android comes with an input command-line tool that can simulate miscellaneous input events.
- input → The command line tool to send events
- tap → the action
- [x] → X coordinate on the screen
- [y] → Y coordinate on the screen