title: XGrabButton doesn't capture clicks when another button is held down
body: <p>I have some code that uses XGrabButton to capture mouse clicks. I want it to always capture all clicks on the specified buttons, regardless of any other concerns. It currently uses the following invocation:</p>
  
  <pre><code>XSelectInput(display, window, ButtonPressMask);
  XGrabButton(display, Button2, AnyModifier, window, True,
      ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None);
  XGrabButton(display, Button3, AnyModifier, window, True,
      ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None);
  XGrabButton(display, Button4, AnyModifier, window, True,
      ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None);
  </code></pre>
  
  <p>However, pressing and holding button 1 (the left mouse button, which is not captured by my code) causes clicks on the other buttons to not be captured. How do I prevent this from happening?</p>
  
  <p><strong>Edit for clarification:</strong></p>
  
  <ul>
  <li>I want to capture buttons 2-4 always, and button 1 never.</li>
  <li>The above invocation captures buttons 2-4 just fine normally.</li>
  <li>It does <strong>NOT</strong> capture button 1 (left click).</li>
  <li>It will <strong>NOT</strong> capture buttons 2-4 while button 1 is held down.</li>
  </ul>
  
  <p>How do I make it capture buttons 2-4 while button 1 is held down?</p>