       y = tag[1]-48;
   }
   
-  if (shieldEvent->actionHash == pressedHash) {
-    pressedX = x;
-    pressedY = y;
-  }
-  
-  if (shieldEvent->actionHash == releasedHash) {
-    releasedX = x;
-    releasedY = y;
-    if (pressedX <= releasedX && pressedY <= releasedY && (pressedX+pressedY < releasedX+releasedY)) {
-      for (int ix=pressedX; ix<=releasedX; ix++) {
-        for (int iy=pressedY; iy<=releasedY; iy++) {
-          setColor(ix,iy,selectedColor,false);
-        }
-      }
-      
-      strip.ShiftAllPixels();
-    }
-  }
-  
-  if (shieldEvent->actionHash == tappedHash) {
+  if (shieldEvent->actionHash == tappedHash || shieldEvent->actionHash == enteredHash) {
     if (tag[1] == 0 && tag[0] < 48+(colorCount+1) && tag[0] >= 48) {
       //color
       if (tag[0] == 48+(colorCount)) {


void setup()
{
  shield.setOnRefresh(refresh);
  screen.setOnEvent(screenEvent);


    if (shift) {
      strip.ShiftAllPixels();
    }
    
    if (false) { //ids[x][y] > 0) {
      screen.change(ids[x][y], visibleColor(colors[x][y].color));
    } else {
      char tag[3] = {48+x, 48+y, 0};
      ids[x][y] = screen.fillRectangle(cwidth * x + (cwidth/2 - cellwidth/2), rheight * y + (rheight/2 - cellheight/2),
        cellwidth, cellheight, visibleColor(colors[x][y].color), String(tag), true);
    }
}

void drawGrid() 
