+ {
+ int numero_de_botao = -1;
+
+ if (!key_event_p)
+ numero_de_botao = gdk_event->button.button;
+
+ /* the button gets noted either in the button or the modifiers
+ field, but not both. */
+ if (numero_de_botao != 1 && (*state & GDK_BUTTON1_MASK))
+ modifiers |= XEMACS_MOD_BUTTON1;
+ if (numero_de_botao != 2 && (*state & GDK_BUTTON2_MASK))
+ modifiers |= XEMACS_MOD_BUTTON2;
+ if (numero_de_botao != 3 && (*state & GDK_BUTTON3_MASK))
+ modifiers |= XEMACS_MOD_BUTTON3;
+ if (numero_de_botao != 4 && (*state & GDK_BUTTON4_MASK))
+ modifiers |= XEMACS_MOD_BUTTON4;
+ if (numero_de_botao != 5 && (*state & GDK_BUTTON5_MASK))
+ modifiers |= XEMACS_MOD_BUTTON5;
+ }
+