Android: getX getY initial delay <p>When reading the <code>getX()</code> and <code>getY()</code> values for a series of <code>onTouch</code> events, I find that the <code>ACTION_MOVE</code> events will return the <code>ACTION_DOWN</code> coordinates until a certain distance threshold from these coordinates has been passed. From then onwards the correct coordinates will always be returned.</p> <p>Steps to reproduce:</p> <ol> <li>Create a new application project with a default activity</li> <li><p>Add the following method to the default activity:</p> <pre><code>@Override public boolean onTouchEvent(MotionEvent event) { Log.i("getXYDelay", "(x,y)=("+event.getX() + "," + event.getY() + ")"); return super.onTouchEvent(event); } </code></pre></li> <li><p>Run on a device and watch logcat as you touch and drag</p></li> </ol> <p>You should see that, on every touch and drag, the <code>getX()</code>/<code>getY()</code> results only start changing after your finger has moved half a centermeter or so, and from then on it is accurate.</p> <p>I can see how for a lot of circumstances this would be helpful, but it causes issues in the application that I'm writing, so:</p> <ul> <li>Is this initial lag over-ridable? Or can it be bypassed?</li> <li>Is it device specific?</li> </ul> <p>Ideally I'd like to turn it off for a single OpenGL surface view.</p> <p>Note: </p> <ul> <li>It doesn't happen when I use a Samsung Note SPen.</li> <li>The same happens with <code>getRawX()/getRawY()</code>.</li> <li>This doesn't happen on an emulator so is presumably coming from the hardware touch drivers.</li> </ul> <p>Update: I'm assuming this is caused by hardware drivers or a similar level, and as such is beyond the application's control. I've also attempted to post this to the android developer group, but after several weeks it seems the moderators are still sitting on my post.</p>