switch (event->keyval)
{
case GDK_BackSpace:
- edit_drop(context, event->state & GDK_MOD1_MASK);
+ edit_drop(context, event->state & GDK_MOD1_MASK, event->state & GDK_CONTROL_MASK);
+ break;
+ case GDK_Tab:
+ edit_complete(context);
break;
default:
- if ((event->state & (~GDK_SHIFT_MASK)) == 0 && event->keyval < 0x80)
+ if ((event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK)) == 0 && event->keyval < 0x80)
edit_push_char(context, event->keyval);
return FALSE;
}