From b43117ad9858c03409a2e9f0784d7f52bcda4059 Mon Sep 17 00:00:00 2001 From: Felipe Heidrich Date: Wed, 28 Feb 2007 22:16:13 +0000 Subject: Bug 172316 - Display.post() should support mouse buttons 4 and 5 --- .../gtk/org/eclipse/swt/widgets/Display.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java') diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index daea9ed3fe..8a3c9b2709 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -2824,11 +2824,28 @@ public boolean post (Event event) { OS.XTestFakeMotionEvent (xDisplay, -1, event.x, event.y, 0); } else { int button = event.button; - if (button < 1 || button > 3) return false; + switch (button) { + case 1: + case 2: + case 3: break; + case 4: button = 6; break; + case 5: button = 7; break; + default: return false; + } OS.XTestFakeButtonEvent (xDisplay, button, type == SWT.MouseDown, 0); } return true; } + /* + * This code is intentionally commented. After posting a + * mouse wheel event the system may respond unpredictably + * to subsequent mouse actions. + */ +// case SWT.MouseWheel: { +// if (event.count == 0) return false; +// int button = event.count < 0 ? 5 : 4; +// OS.XTestFakeButtonEvent (xDisplay, button, type == SWT.MouseWheel, 0); +// } } return false; } -- cgit v1.2.3