Code:
...
  if(btnPressed > -1)
  {
    // kurz gedrückt
    if (btnPressed < 500)
    {
      // etwas tun 
    }
    // etwas länger gedrückt
    else if (btnPressed < 1000)
    {
      // etwas tun 
    }
    // länger gedrückt
    else if (btnPressed < 2000)
    {
      // etwas tun 
    }
    // lange gedrückt
    else
    {
      // etwas tun 
    }
  }
Vermutlich hängts mit meinen lausigen C-Kenntnissen zusammen . . . denn ich denke, dass bei btnPressed < 500 schon mal die ersten drei Fälle "// etwas tun" bis btnPressed < 2000 abgearbeitet werden, hübsch der Reihe nach, aber eben alle drei. Ich war mal - theoretisch - über diese Abfragekonfiguration gestolpert und mache die Button-drück-Zeit-Analysen etwas anders.