 #define MENU_OFF_X   (PHNDisplayHW::WIDTH-MENU_ICON_W)
 #define MENU_OFF_Y   5
 
+/* Menu icon indices */
+#define MENU_IDX_START       0
+#define MENU_IDX_UP          0
+#define MENU_IDX_ADD         1
+#define MENU_IDX_DOWN        2
+#define MENU_IDX_SKET        3
+#define MENU_IDX_NONE        (MENU_IDX_SKET + SKETCHES_CNT)
+#define MENU_IDX_CNT         (MENU_IDX_NONE + 1)
+
 /* Edit dialog settings */
 #define EDIT_ICON_SCALE     3
 #define EDIT_ICON_W         (EDIT_ICON_SCALE * SKETCHES_ICON_W)

  }

  /* Pressing and holding down on a sketch icon? Edit then. */
  if (touchedIndex < IDX_MENU_START && ((millis() - pressed_time_start) > HOLD_ACTIVATE_DELAY)) {
    editSketch(sketch_icon_text[touchedIndex], false);
    reloadAll = true;
  }
  
  /* Released a button? Handle logic for the button released. */
  if (touchedIndex == IDX_NONE && oldTouchedIndex != IDX_NONE && !LCD_isTouchedAny()) {
    
    if (oldTouchedIndex == IDX_UP) {
      /* Move sketch list one page up, ignore if impossible */
      if (sketch_offset) {
        sketch_offset -=  SKETCHES_PGINCR;
        redrawIcons = true;
      }
    } else if (oldTouchedIndex == IDX_DOWN) {
      /* Move sketch list one page down, ignore if impossible */
      if ((sketch_offset + SKETCHES_PGINCR) < sketches_buff_cnt) {
        sketch_offset += SKETCHES_PGINCR;
        redrawIcons = true;
      }
    } else if (oldTouchedIndex == IDX_ADD) {
      /* Ask for the new file name, if successful, edit the icon */
      char name[9];
      memset(name, ' ' , 8);

      }
    }
    /* If required, mark this sketch dirty for rendering */
    icon_idx = (sketch_index - sketch_offset);
    if ((create_new || is_ski) && (sketch_index >= sketch_offset) && (icon_idx < SKETCHES_CNT)) {
      sketch_icon_dirty[MENU_IDX_SKET + icon_idx] = 1;
    }
  }

