Index: src/gui_act.c =================================================================== --- src/gui_act.c (revision 2403) +++ src/gui_act.c (revision 2404) @@ -603,6 +603,7 @@ SetMode(ARROW_MODE); break; case F_Copy: + pcb_trace("ActionMode() copy\n"); SetMode(COPY_MODE); break; case F_InsertPoint: Index: src/hid_cfg_input.c =================================================================== --- src/hid_cfg_input.c (revision 2403) +++ src/hid_cfg_input.c (revision 2404) @@ -141,6 +141,8 @@ { lht_node_t *n; + pcb_trace("find_best_action(): %x\n", button_and_mask); + if (mouse->mouse_mask == NULL) return NULL; Index: src_plugins/hid_gtk/gui-output-events.c =================================================================== --- src_plugins/hid_gtk/gui-output-events.c (revision 2403) +++ src_plugins/hid_gtk/gui-output-events.c (revision 2404) @@ -169,6 +169,8 @@ ghid_note_event_location(NULL); + pcb_trace("ghid_port_key_press_cb alt=%d ctrl=%d\n", (state & GDK_MOD1_MASK), (state & GDK_CONTROL_MASK)); + if (state & GDK_MOD1_MASK) mods |= M_Alt; if (state & GDK_CONTROL_MASK) mods |= M_Ctrl; if (state & GDK_SHIFT_MASK) { @@ -211,6 +213,9 @@ state = (GdkModifierType) (ev->state); mk = ghid_modifier_keys_state(&state); + pcb_trace("ghid_port_button_press_cb mk=%x\n", mk); + + hid_cfg_mouse_action(&ghid_mouse, ghid_mouse_button(ev->button) | mk); ghid_invalidate_all();