Nope :) I wanted to extend the brush functionality to not just selection/resize, but also allow for more options (like moving the brush to the selected coordinate, preserving the extent -> behaving like a resizable scrollbar). For
brushend, d3.event.sourceEvent.touches returns an empty array (because you would have already removed your fingers from the touch screen). So the coordinates are stored in d3.event.sourceEvent.changedTouches. I needed these coordinates to find the difference between the x coordinate (when clicked/touched) and the extents so I could move the brush to that point.