[Nexus 5X Q&A, Help & Troubleshooting] sfhub:
This is the sysfs path for the touchscreen interface

/sys/bus/i2c/drivers/synaptics_rmi4_i2c/2-0020

root@bullhead:/sys/bus/i2c/drivers/synaptics_rmi4_i2c/2-0020 # ls -l
-rw-rw-r-- root root 4096 2016-04-18 00:30 0dbutton
-r--r--r-- root root 4096 2016-04-18 00:30 blconfigblockcount
-r--r--r-- root root 4096 2016-04-18 00:30 blocksize
-r--r--r-- root root 4096 2016-04-18 00:30 buildid
--w--w---- root root 4096 2016-04-18 00:30 check_fw
-r--r--r-- root root 4096 2016-04-18 00:30 config_id
--w--w---- root root 4096 2016-04-18 00:30 configarea
-r--r--r-- root root 4096 2016-04-18 00:30 configblockcount
-rw-rw-r-- root root 0 2016-04-18 00:30 data
-r--r--r-- root root 4096 2016-04-18 00:30 dispconfigblockcount
lrwxrwxrwx root root 2016-04-18 00:30 driver -> ../../../../../bus/i2c/drivers/synaptics_rmi4_i2c
-r--r--r-- root root 4096 2016-04-18 00:30 flashprog
-rw-rw-r-- root root 4096 2016-04-18 00:30 flipx
-rw-rw-r-- root root 4096 2016-04-18 00:30 flipy
--w--w---- root root 4096 2016-04-18 00:30 force_update_fw
-rw-rw-r-- root root 4096 2016-04-18 00:30 full_pm_cycle
-rw-rw-r-- root root 4096 2016-04-18 00:30 fw_name
-r--r--r-- root root 4096 2016-04-18 00:30 fwblockcount
--w--w---- root root 4096 2016-04-18 00:30 imagesize
drwxr-xr-x root root 2016-04-18 00:30 input
-r--r--r-- root root 4096 2016-04-18 00:30 modalias
-r--r--r-- root root 4096 2016-04-18 00:30 name
-r--r--r-- root root 4096 2016-04-18 00:30 package_id
-r--r--r-- root root 4096 2016-04-18 00:30 permconfigblockcount
drwxr-xr-x root root 2016-04-18 00:30 power
-r--r--r-- root root 4096 2016-04-18 00:30 productinfo
--w--w---- root root 4096 2016-04-18 00:30 readconfig
-rw-r--r-- root root 4096 2016-04-18 00:30 reg_control
--w--w---- root root 4096 2016-04-18 00:30 reset
lrwxrwxrwx root root 2016-04-18 00:30 subsystem -> ../../../../../bus/i2c
-rw-r--r-- root root 4096 2016-04-18 00:30 uevent
--w--w---- root root 4096 2016-04-18 00:30 update_fw
--w--w---- root root 4096 2016-04-18 00:30 writeconfig
--w--w---- root root 4096 2016-04-18 00:30 writelockdown

Between using "update_fw" and "force_update_fw" you should theoretically be able to force a firmware rollback.

So if someone who is affected by this bug would like to try and fix it, flash the factory image

for something EARLIER than MHC19J, let's say MMB29V.

Caveats

whenever you flash firmware you can seriously damage your device

this is slightly more dangerous than ROM flashes because if something goes wrong

your touchscreen might stop working, making it hard to interact with your device

firmware can NOT update when your screen is off / device is sleeping

make sure your device isn't suspended/sleeping, ie you can see your home screen

disable or lengthen your screen timeout so the touchscreen doesn't get turned off during the flash process

the "force_update_fw" command WILL take a 1 or 2 minutes

Do NOT interrupt the process or you can have non-functioning touchscreen

Then you can try in an "adb shell" [need to be rooted]

su
cd /sys/bus/i2c/drivers/synaptics_rmi4_i2c/2-0020
cat buildid
echo 1 > force_update_fw
cat buildid
dmesg | grep rmi4_i2c > /sdcard/fwlog.txt

Theoretically your buildid before and after the flash should be different. If you check the log file

you can be sure whether the touchscreen firmware was written or not.

Restart your device and see if the touchscreen is back to normal.

If it is back to normal, then be happy and do NOT take any updates MHC19J or newer or you

will get the questionable touchscreen firmware again.