[Nexus 5X General] 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 can 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 a 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.

I've attached the mmb29k-mmb29v synaptics_fw.bin [MD5: a35f302acf40e28b4330ce9912c9bf0a]

If you want to use the latest ROM release and don't mind being rooted

FIX your touchscreen as described above

disable any lockscreen/pattern/PIN

manually flash the latest factory image (wiping user partition not necessary, but won't hurt)

*PRIOR* to rebooting, flash TWRP recovery

boot to TWRP recovery

the following steps WILL modify your vendor partition, as long as you are rooted you won't really

see any difference, but if you put stock boot.img back, it will complain about corrupted software

mount /vendor partition r/w

replace /vendor/firmware/synaptics_fw.bin with the attached one

unmount /vendor

flash SuperSU

reboot

reenable lockscreen/pattern/PIN

it is important to do this *PRIOR* to first system/rom boot after flashing the new factory image

or you will be stuck with the new (bad) touchscreen firmware again