mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-06-30 11:02:48 -05:00
Change the term_mouse interface a little so that it gets passed
both the raw and the cooked mouse button, with the mapping being done in advance by the front-end. This is useful because it allows the front-end to use information other than the raw button (e.g. the modifier state) to decide which cooked button to generate. . Front ends other than the Mac one are untested, but they just call translate_button() themselves and pass the result to term_mouse(). [originally from svn r2721]
This commit is contained in:
@ -151,7 +151,7 @@ int font_dimension(void *frontend, int which)/* 0 for width, 1 for height */
|
||||
* mouse or a means of faking it, and there is no need to switch
|
||||
* buttons around at all.
|
||||
*/
|
||||
Mouse_Button translate_button(void *frontend, Mouse_Button button)
|
||||
static Mouse_Button translate_button(void *frontend, Mouse_Button button)
|
||||
{
|
||||
/* struct gui_data *inst = (struct gui_data *)frontend; */
|
||||
|
||||
@ -937,7 +937,8 @@ gint button_event(GtkWidget *widget, GdkEventButton *event, gpointer data)
|
||||
x = (event->x - inst->cfg.window_border) / inst->font_width;
|
||||
y = (event->y - inst->cfg.window_border) / inst->font_height;
|
||||
|
||||
term_mouse(inst->term, button, act, x, y, shift, ctrl, alt);
|
||||
term_mouse(inst->term, button, translate_button(button), act,
|
||||
x, y, shift, ctrl, alt);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -964,7 +965,8 @@ gint motion_event(GtkWidget *widget, GdkEventMotion *event, gpointer data)
|
||||
x = (event->x - inst->cfg.window_border) / inst->font_width;
|
||||
y = (event->y - inst->cfg.window_border) / inst->font_height;
|
||||
|
||||
term_mouse(inst->term, button, MA_DRAG, x, y, shift, ctrl, alt);
|
||||
term_mouse(inst->term, button, translate_button(button), MA_DRAG,
|
||||
x, y, shift, ctrl, alt);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
Reference in New Issue
Block a user