Bug 21325

Summary: libXt should be able to handle button 6 and 7 event translations
Product: xorg Reporter: Richard L. Hamilton <rlhamil>
Component: Lib/XtAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: enhancement    
Priority: medium CC: jeremyhu
Version: unspecifiedKeywords: love
Hardware: All   
OS: All   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:

Description Richard L. Hamilton 2009-04-21 13:57:36 UTC
libXt doesn't know about buttons 6 and 7, and thus for X servers that map horizontal scroll wheel
to clicks of those buttons, it can't map those via resource based translations to e.g.
horizontal scrollbar accelerator actions.

Discovered using the libXt that comes with Mac OS X 10.5.6, however this is apparent in the
source of the latest libXt as well, and as such this should apply to _all_ platforms sharing
the same implementation of libXt, unless they maintain their own private patches.

A quick google found the patch:
http://lists.freedesktop.org/archives/xorg/2004-July/001536.html

Subject to the limitations stated in that message*, and manually applying the patch
(since the line numbers are against a much older version), the latest libXt with that
patch applied works as I had hoped; in applications using libXt based widget libraries,
translations that reference <Btn6Up> or <Btn7Up> for example, can then be used to trigger
suitable actions.

This was specifically observed using the old "Knews" newsreader, which has its own
widget set possibly based on Athena, but it should also hold true with programs using
for example Athena, Motif or OLIT as well.  (The application was not recompiled; only libXt and
the application's resource file were updated.) Many applications using Motif still exist, likely
won't go away anytime soon, and in conjunction with X servers that map horizontal scroll
to buttons 6 and 7, could benefit from libXt support for such 

I must admit astonishment that such a simple solution was proposed so long ago, and
yet not adopted; perhaps only the present preference for non Xt Intrinsic based GUIs accounts
for it.  (if there was a prior bug, a quick search didn't find it for me)

* namely that the X protocol doesn't allow for button masks for buttons beyond 5, so
uses depending on that functionality aren't possible.  But given that those buttons on a
core pointer device are only likely to arise from mapping of a horizontal scroll wheel or
the like, the functionality that remains possible may well be sufficient for most purposes.
Comment 1 Adam Jackson 2018-06-12 19:07:39 UTC
Mass closure: This bug has been untouched for more than six years, and is not
obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.