Reduce occurrence of Moto G4 Ghost/Phantom Touch using MacroDroid


(Moderator’s note: For context, these tips were originally posted in Motorola Does not support their products.
If you are experiencing “Ghost Touching” on your Moto G4, please contact Motorola as soon as you first notice the issue. However, if your phone is out of warranty, the advice below can help.)

Here are some suggestions that seem to help with my out-of-warranty G4+ and the ghost touches.

  1. Turn on Developer options by going to Settings --> About Phone --> Tap Build Number about 7 or 8 times. Once it says that you are a developer, go back to the Settings screen and you should see Developer Options. Tap on it, toggle On to on, scroll down to the Input section and toggle Show taps to on. This will show you your touches and also any ghost touches as little circles.

  2. Go to Display under Settings. Turn Adaptive brightness off and the Brightness level to about 30%. What appears to cause the ghost touches is sudden increases in the screen brightness.

  3. If you see any ghost touches on your main screen, make a note of where they now show up on your screen and move any app icons away from where the ghost touches occur if possible. If you see the ghost touches, pressing the power button quickly to turn off the screen and then press again to turn it back on should get rid of the touches for a while.

  4. I created a MacroDroid macro to set the brightness to 10% when the screen is turned off, and another to gradually brighten the screen to 30% when turned on. Works great indoor and at night, but leaves the screen a little dim when out in the sun. Then I have to set the brightness up a bit manually.

One surprise I had after creating the macros is that sometimes you will see a ghost touch as soon as the screen is turned on and it will then disappear as the screen gradually gets brighter.

When creating the macros and the Actions, Brightness is found under the Screen category, and Wait (before next action) is under MacroDroid Specific.

Moto g 4 going NUTS
Moto G 4th Gen repeatedly types o’s, O’s and 9’s - and jumps all over the place
Moto g 4 32gb problems
My G4 has a poltergeist
Fitbit compatibility
My Moto G4 has "Ghost Tap" problem every time I wake it up
Moto G4 blinking out of control
Community Challenge 5: MacroDroid Automations
Moto G4 Plus Tasmanian Devil takeover - Any Solution?
Cannot type on phone
Motorola Does not support their products
Moto g4 is very glicky can stop it
My phone is flashing and typing 0’s 9’s. Can’t find solution from another of same complaint
Moto 4g ghost touch issue
Moto G4 screen misbeaving
Hurricane Florence? Like always, Republic isn't there to help ME
Screen flickers, takes pictures on own, calls people on own

Awesome @haptown

I cannot wait to hear if this works!. :grinning:


Have found another option to minimize the ghost touch problem on the Moto G4 Plus. This is based on the assumption that there is a failure of the ambient light sensor to work correctly.

Here is the link to one person’s solution.

  1. Place 2 small pieces of black electrical tape over the ambient light and proximity sensors. See image of sensor location here.

  2. Turn on Adaptive Brightness and set Brightness level to 100% under Display settings.You can lower the brightness level, but be careful as the screen almost goes totally dark at 80% or less. The screen brightness at 100% seems to be about the same as 25-30% before.

  3. Disable or edit any MacroDroid scripts that may affect the Brightness level. These will turn off the Adaptive Brightness. In my case, these were the No Doze script and the script mentioned in the 1st post of this thread.

  4. The caveat of this fix is that the ambient light and proximity sensor will both be covered by the black tape. The proximity sensor is the sensor that detects whether the phone is placed close to your head when making a phone call and causes the screen to go black. There is the app Smart Call Screen Lock which will lock your screen while the call is active but will not turn it off.

Not sure which option I like best, but this one seems to be easier to implement, especially if you only have short infrequent calls.