this is the contents of the tarball fredercic rible sent me
xhc-hb04 driver by Frederic Rible
xhc-hb04: integrate with build system

This adds a build-dependency on libusb-1.0-0-dev, and a run-time
dependency on libusb-1.0, can be disabled with "./configure
--without-libusb-1.0"
xhc-hb04: updates so it compiles in-tree
xhc-hb04: simplify #include now that include path is set correctly
xhc-hb04.cc: fix compile warnings

remove unused vars and label
xhc-hb04.cc: fail if MAX_WAIT exceeded

also:
  print waiting messages before exiting
  if not simulating, do hal_setup(),hal_ready() only after usb connect
  add modname to main() printf's
xhc-hb04 (usb wireless mpg) sim configs

Use Frederick Rible's xhc-hb04 component to make simulator
configs for two known button layouts.

A new halfile (xhc-hb04.tcl) and component (xhc_hb04_util.comp)
make it possible to add the pendant with minor edits to a
user ini file since no glue-logic hal components are involved.
It is assumed/required that a thread named servo-thread exists.

Ini file entries:
 [XHC_HB04_BUTTONS]name=pin define button connections for the buttons
                            defined in the layout cfg file

 [XHC_HB04_CONFIG]layout=2        (required: 1|2  2 is most common)
 [XHC_HB04_CONFIG]coords= x y z a (optional, default =  x y z a)
 [XHC_HB04_CONFIG]coefs=  1 1 1 1 (optional filter coefs,
                                   not usually required)
 [XHC_HB04_CONFIG]scales= 1 1 1 1 (optional)

   layout specifies one of two button layouts.
   coords specifies the axes for the jogwheel selector.
   coefs  specifies filter coeficient terms to slow response.
   scales specifies plus/minus scale factors for each axis.

Two additional jogwheel selections provide spindle and feedrate control.
xhc_hb04_util: include <rtapi_math.h>
xhc-hb04 sim configs: remove two restrictions

1) Allow arbitrary threadname (default is "servo-thread").
   To specify non-default thread name use:
     [XHC-HB04_CONFIG]threadname=thename
2) Allow start-pause button connection to arbitrary pin
   but provide means for built-in functionality with:
     [XHC-HB04_CONFIG]start-pause=std_start_pause

minor: consolidate string trims for "{}"
       update README and .txt files
xhc-hb04 remove restriction on step button

Provide hal pins for
  xhc-hb04.stepsize-up (input)
  xhc-hb04.stepsize    (output)

This removes an internal hardwired connection of the step button and
allows a gui to:
 a) display the current increment (xhc-hb04.stepsize).
 b) independently change the increment (typically one would
    'or' the pendant button with a gui button and connect
    to xhc-hb04.stepsize-up

To use the step button with the pendant only, connect it
in the ini file:
 [XHC_HB04_BUTTONS]step = xhc-hb04.stepsize-up
xhc-hb04.cc: create hal pin for sleeping mode

Pendant sends 0x04 0x00 0x00 0x00 0x00 0x00 when it stops updating
display (typically after about 40 seconds of inactivity).  When a
button is pushed, display updates resume.

Detect and update a hal pin named xhc-hb04.sleeping.
In simu_mode, print Sleep delay time and Wake up.
xhc-hb04: Fix stepsize management in simulation mode Put back HAL pins creation before pendant detection Put some vars in xhc_t structure to prepare future multi-pendant support
xhc-hb04: Add -x cmdline option to call hal_ready() only after pendant detection
xhc-hb04: Add xhc-hb04.connected ping to report if the pendant is connected or not Remove tiemout in USB connection loop when "-x" cmdline flag is not present
xhc-hb04: support multiple ini jogmodes

ini option using:
[XHC_HB04_CONFIG]jogmode = normal | vnormal | plus-minus

normal: use motion jogging:
        axis.N.jog-counts,axis.N.jog-enable,axis.N.jog-scale
        (exact motion, axis may keep moving after wheel stops)

vnormal: motion jogging with axis.N.vel-mode==1
        (axis stops when wheel stops, steps may not be exact
         depending upon accel and velocity limits)

plus-minus: use halui
       halui.jog.N.plus, halui.jog.N.minus, halui.jog-speed

'plus-minus' was called 'world mode' in original examples
xhc-hb04: monitor pendant connect/disconnect

new ini entry for [HAL]HALFILE = monitor_xhc-hb04.tcl
to  monitor xhc-hb04 connectivity using the pins:
  xhc-hb04.require_pendant (new)
  xhc-hb04.connected

if require_pendant:
   detect loss of pendant connection and popup msg
   (reconnection not supported)
if ! require_pendant:
   detect loss of pendant connection and popup msg
   and
   detect connection of pendant and reconnect with popup msg
xhc-hb04: support different stepsize_sequences

The default stepsize sequence: 0.001,0.010,0.100,1.000 (after multiplication
by .001 unit) is often too big for inch-based machines:
  a) in 'normal' jogging (the default), the larger stepsizes will allow
     the machine to continue traveling after the wheel stops and this may
     be unexpected by the user.
  b) the alternate 'vel-mode' jogging addresses a) (since the machine stops
     when the wheel stops), but the larger stepsizes may be too big for an
     inch-based machine with typical velocity/acceleration limits.
     Example (sim/axis/axis.ini):
         vmax=1.2,amax=20, max_move = 0.5*vmax**2/amax = 0.036
     This 0.036 inch limit results in unexpected movement amounts for
     the larger stepsizes in the sequence (0.100,1.000)

This commit defines the default stepsize_sequence: 1,10,100,1000 (no change)
and allows specification of an addtional sequence: 1,5,10,20.  With this
sequence, the inch step sizes are 0.001,0.005,0.010,0.020 and will result in
expected movement when the wheel is moved one click at a time.

(Note also that the ini setting [XHC_HB04_CONFIG]scale can supply an individual
scale multiplier for each axis)

The stepsize sequence is specified with the -s option:
 -s: step sequence:
     1: 1,10,100,1000 (default)
     2: 1,5,10,20

Additional sequences can be added in the future; the sequences are limited
by the display codes available for the xhc-hb04.

also:
   updated README and .txt files
   xhc-hb04-layout2_mm.ini: new file for 9axis mm example
   monitor_xhc-hb04.tcl: fail more gracefully if xhc-hb04 comp didn't load
xhc-hb04: ctx for libusb_handle_events_timeout()

segfaulting with libusb-1.0-0 version 2:1.0.9-rc3-2ubuntu1 (precise 12.04)
ran with         libusb-1.0-0 version 2:1.0.12-2           (quantal 12.10)
xhc-hb04: udev rules file