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); } }