Index: src/input.c
===================================================================
--- src/input.c	(revision 22)
+++ src/input.c	(revision 23)
@@ -640,6 +640,7 @@
     else
     {
         gboolean selected_point = FALSE;
+        gboolean shift_pressed = (event->state & GDK_SHIFT_MASK) ? TRUE : FALSE;
         Point clkpt;
         screen2unit(event->x, event->y, clkpt.unitx, clkpt.unity);
 
@@ -665,10 +666,19 @@
                     clkpt.unitx, clkpt.unity, &poi, TRUE);
             if(selected_point)
             {
-                gchar *banner;
-                banner = g_strdup_printf("%s (%s)", poi.label, poi.clabel);
-                MACRO_BANNER_SHOW_INFO(_window, banner);
-                g_free(banner);
+                /*
+                 * TODO context menu has context sensitive "default" action for
+                 * tap-and-hold. We should have the same here.
+                 */
+                if (shift_pressed)
+                    poi_dialog(_window, &poi, FALSE);
+                else
+                {
+                    gchar *banner;
+                    banner = g_strdup_printf("%s (%s)", poi.label, poi.clabel);
+                    MACRO_BANNER_SHOW_INFO(_window, banner);
+                    g_free(banner);
+                }
                 poi_free_data(&poi);
             }
         }
